安装 Python 并运行第一个程序
安装 CPython、验证版本,并用脚本与 -m 方式跑通第一个可验证程序。
#type / howto
#status / growing
#tech / dev
#resource / python
#tech / lang / python
[!info] 关联笔记
安装 Python 并运行第一个程序
目标
在本机得到一个可用的 python(或 python3),并完成:
- 版本可查询
- 脚本可运行
- 理解
python file.py与python -m的差别入口
这个场景为什么出现
没有可验证运行闭环,后面所有笔记都只能“看懂不能复核”。安装步骤本身也训练你区分:解释器、标准库、第三方环境 三层。
[!abstract] 一句话理解 先装官方 CPython 并确认
python --version,再用单文件脚本和if __name__ == "__main__"跑通最小业务输出。
步骤
1. 安装解释器
任选平台惯用方式(示例):
# macOS / Linux 常见:官方安装包、pyenv、或系统包管理器
python3 --version
# Windows(Scoop 示例,仓库内也有更完整环境笔记)
# scoop install python
python --version
验收:版本为 3.x(本笔记示例按 3.10+ 习惯编写;你机器上以实际为准)。
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"))
建议运行:
python activity_passcode.py
# 若命令是 python3:
# python3 activity_passcode.py
期望输出:
[ACTIVITY] passcode=SPRING-SALE
3. 用模块方式运行(建立肌肉记忆)
python -m activity_passcode
若当前目录在 sys.path 中,行为与直接运行类似;后续包项目中 python -m package.module 是更稳的入口习惯。
结合场景再看三个关注点
- 解释器命令名在不同系统可能是
python或python3,以* --version为准。 - 业务逻辑放函数、
__main__只做入口,避免“一 import 就执行”。 - 真正项目还要虚拟环境与依赖锁定——见 环境配置。
验收标准
-
python --version/python3 --version输出 3.x - 脚本运行得到期望公告行
- 知道下一步应使用虚拟环境安装第三方包,而不是污染全局
常见问题
| 现象 | 可能原因 | 处理 |
|---|---|---|
command not found | 未安装或未进 PATH | 重装/修 PATH |
| 运行了 Python 2 | 系统旧别名 | 明确用 python3 |
能运行脚本但 pip 乱 | 全局站点包混杂 | 建 venv / 用 uv |
本节总结
安装的目标不是“有个 python 图标”,而是可重复的运行闭环。阶段一后续所有示例都默认你能本地执行。
自测题
- 为什么业务逻辑不要全部写在文件顶层?
python file.py成功是否等于项目环境已就绪?
参考答案
- 顶层在 import 时也会执行;函数 +
__main__入口可测试、可复用。 - 否。第三方依赖、版本锁定与隔离环境仍可能缺失。
延伸阅读与资料来源
| 资料 | 类型 | 支撑内容 |
|---|---|---|
| Python Setup and Usage | 官方文档 | 安装与使用 |
| The Python Tutorial | 教程 | 官方入门 |