安装 Python 并运行第一个程序
安装 CPython、验证版本,并用脚本与 -m 方式跑通第一个可验证程序。
[!info] Related notes
安装 Python 并运行第一个程序
目标
在本机得到一个可用的 python(或 python3),并完成:
- 版本可查询
- 脚本可运行
- 理解
python file.py与python -m的差别入口
这个场景为什么出现
没有可验证运行闭环,后面所有笔记都只能“看懂不能复核”。安装步骤本身也训练你区分:解释器、标准库、第三方环境 三层。
[!abstract] 一句话理解 先装官方 CPython 并确认
python --version,再用单文件脚本和if __name__ == "__main__"跑通最小业务输出。
步骤
1. 安装解释器
按平台选择一种安装路径,已有满足项目要求的解释器时可直接验证:
- Windows:从 Python 下载页 按当前官方说明安装;已有 Scoop 的环境也可用
scoop install python,细节见 python-environment-setup。 - macOS:使用 官方 macOS 安装包;安装后重开终端,确认命令指向。
- Debian / Ubuntu:使用发行版包管理器。例如:
sudo apt update
sudo apt install python3 python3-venv
python3 --version
python3 -c "import sys; print(sys.executable)"
Windows 可先尝试 py --version 或 python --version;macOS/Linux 常用 python3。后续命令统一写 python,应替换为你已验证的那一个解释器命令,不要在不同步骤间无意切换环境。
验收不仅是看到 3.x,还要确认版本满足项目要求且安装来源仍受维护。本文只有标准库示例,已在 CPython 3.12.3 验证;这不是要求所有项目固定使用该版本。
2. 写第一个脚本
场景:运营工具打印今日活动口令
活动运营要一个本地小工具:将活动代码格式化为公告行。此例只是字符串规范化,不生成认证密钥;大写转换是本例业务约定,不适用于需要保留大小写的真实凭证。
# activity_passcode.py
# 业务意图:根据活动代码生成可粘贴的公告行。
# 教学点:
# - 脚本是模块;直接运行时 __name__ == "__main__";
# - print 只是输出,真正逻辑应放在函数里便于测试。
def build_passcode_line(activity_code: str) -> str:
# 业务规则:统一前缀 + 大写活动码,避免群里格式混乱。
normalized = activity_code.strip().upper()
return f"[ACTIVITY] passcode={normalized}"
if __name__ == "__main__":
# 直接运行本文件时才执行;被 import 时不会打印。
print(build_passcode_line("spring-sale"))
将代码保存为 activity_passcode.py,在该文件所在目录运行:
python activity_passcode.py
# 若命令是 python3:
# python3 activity_passcode.py
期望输出:
[ACTIVITY] passcode=SPRING-SALE
3. 用模块方式运行(建立肌肉记忆)
python -m activity_passcode
-m 后面是模块名,不带 .py,Python 按模块搜索路径查找它;这里在文件所在目录运行。两种方式都会把该模块的 __name__ 设为 "__main__",但 python file.py 以脚本目录为常规搜索入口,python -m package.module 保留包执行上下文,更适合需要包内相对导入的入口。-I、-P 等选项会改变搜索路径行为,不能假定任意目录都能找到模块。
结合场景再看三个关注点
- 解释器命令名与路径一起核对;使用
python -m pip时,pip 才明确属于该解释器,而不是 PATH 中另一个 pip。 - 业务逻辑放函数、
__main__只做入口,避免“一 import 就执行”。 - 真正项目还要虚拟环境与依赖锁定——见 环境配置。
验收标准
- 版本与
sys.executable指向预期解释器,满足项目约束 - 脚本和
-m运行均得到期望公告行;import activity_passcode不额外打印 - 知道下一步应使用虚拟环境安装第三方包,而不是污染全局
常见问题
| 现象 | 可能原因 | 处理 |
|---|---|---|
command not found | 未安装或未进 PATH | 先查安装位置、重开终端或修 PATH,再判断是否需安装 |
| 运行了 Python 2 | 系统旧别名 | 明确用 python3 |
| 能运行脚本但 pip 指向不明 | pip 与解释器可能来自不同环境 | 核对 python -m pip --version,在 venv/uv 项目环境内安装依赖 |
验证记录:在 Linux / CPython 3.12.3 上运行了本文原脚本、模块入口与无输出导入检查;本轮未重新安装系统解释器,也未实测 Windows/macOS 安装界面。
本节总结
安装的目标不是“有个 python 图标”,而是可重复的运行闭环。阶段一后续所有示例都默认你能本地执行。
自测题
- 为什么业务逻辑不要全部写在文件顶层?
python file.py成功是否等于项目环境已就绪?
参考答案
- 顶层在 import 时也会执行;函数 +
__main__入口可测试、可复用。 - 否。第三方依赖、版本锁定与隔离环境仍可能缺失。
延伸阅读与资料来源
| 资料 | 类型 | 支撑内容 |
|---|---|---|
| Python Setup and Usage | 官方文档 | 安装与使用 |
| The Python Tutorial | 教程 | 官方入门 |