前言
把「Python 是什么」和「怎么把它装到电脑上」放在一起讲,是因为这两件事会互相影响:如果你把 Python 理解成「一个需要编译的软件」,你可能会去找编译器;如果把理解成「一个类似 Office 的应用程序」,你可能会双击安装包之后就去程序菜单里找图标启动。实际上 Python 是一个解释器(interpreter)——它读一段、执行一段,你写的.py文件是纯文本,不需要编译成.exe。
另一个需要先澄清的点:Python 有 2 和 3 两个大版本,而Python 2.7 已于 2020 年 1 月 1 日停止维护(PEP 373 规定的生命周期终点),此后不再有任何安全更新和 bug 修复。所以本文涉及的下载与安装,一律以 Python 3 为准;下面提到 Python 2 的地方,都是为了让读者能看懂旧教程,而不是建议去装它。
本文先讲 Python 的定位和几个关键特性,再分平台讲下载与安装,最后给出安装后必须做的几项验证。
一、Python 是一门什么样的语言
| 特征 | 说明 | 实际影响 |
|---|
| 解释型 | 代码由解释器逐行转成字节码执行 | 改完不用编译,直接重跑 |
| 动态类型 | 变量不需要声明类型 | 写得快,但类型错误要到运行时才暴露 |
| 强类型 | "1" + 1直接报错,不会偷偷转换 | 少一类隐蔽 bug |
| 自动内存管理 | 有引用计数 + 分代垃圾回收 | 基本不用手动释放内存 |
| 跨平台 | 同一份源码可在 Windows/Linux/macOS 跑 | 注意路径分隔符和默认编码差异 |
| 自带「电池」 | 标准库覆盖文件、网络、邮件、压缩等 | 很多任务不用装第三方包 |
关于「慢」的常见说法要讲准:CPython(官方实现)不是靠「解释执行」慢了一点点,它有一个全局解释器锁(GIL,Global Interpreter Lock),同一进程内同一时刻只有一个线程在执行字节码。所以多线程对 CPU 密集型任务没有加速效果,但对 I/O 密集型任务有效——等网络或磁盘时会释放 GIL。CPU 密集要靠多进程或原生扩展。CPython 3.13 起提供了实验性的自由线程(no-GIL)构建,但它不是默认构建,需要单独安装,不能说成「Python 已经取消 GIL 了」。
二、版本怎么选
- 选Python 3。当前稳定版是 3.14 系列,但写 3.8+ 能跑的代码覆盖面最广。
- 不要在同一个项目里混用 3.x 的小版本,
venv建的环境要记清楚它是用哪个解释器建的。 - 遇到旧资料里的 Python 2 写法,必须换算:
print "x"在 3 里是语法错误,要写print("x");dict.iteritems()/iterkeys()/itervalues()在 3 里已被移除,用.items()/.keys()/.values()(返回的是视图);unicode、basestring、long在 3 里不存在,分别统一成str和int;xrange已被移除,range本身就是惰性的;3 / 2在 2 里是1,在 3 里是1.5,整除要写//。
三、下载与安装
Windows
到 python.org 的下载页取 Windows 安装包。安装向导第一页是最关键的一步,界面里有一个勾选框写作「Add python.exe to PATH」(官方文档中称为把 Python 加入 PATH 的选项):
[ ] Install launcher for all users (recommended)
[ ] Add python.exe to PATH <-- 勾上它勾上之后,安装程序会把解释器目录和Scripts目录追加进PATH。接着有两个按钮:
- Install Now:装到用户目录,不需要管理员权限,适合个人电脑。
- Customize installation:可以选安装位置、是否预编译标准库、是否装调试符号;要给全机器所有用户安装时走这条,会装到
Program Files并需要管理员权限。
如果你更愿意交给系统托管,Windows 也提供 Microsoft Store 版本。它的好处是自动更新、不用管 PATH;代价是它靠「应用执行别名」暴露python命令,机器上如果同时有别的解释器,名字容易打架。较新的 Python 在 Windows 上还引入了独立的「Python 安装管理器」,把运行时的安装、切换、升级统一起来,命令行入口是py,py list可以列出当前可用的运行时。不管你走哪条路,装完之后一定要确认python到底指向哪个解释器。
Windows 上还有一个专属工具:py启动器。它是 Windows 特有的,用于在多版本共存时选择运行哪一个,例如指定具体小版本去执行脚本。它不改变PATH里python的指向,只是一个额外的入口。
macOS
同样从 python.org 取安装包,或者用 Homebrew 安装。用 Homebrew 时注意python3这个名字——macOS 本身不带python,只可能有python3,所以写脚本时用python3更保险。
Linux
大多数发行版已经预装了 Python 3,先敲python3 --version看一眼。如果版本够用就不用装。需要别的版本时,优先用pyenv这类版本管理器,或者用虚拟环境,而不是去替换或升级系统自带的那一份——系统里很多工具依赖它。
# 需要 Python 3.3+;先确认系统里有没有
python3 --version
python3 -m venv .venv
source .venv/bin/activate
python -m pip --version四、安装完必须做的验证
三段命令,一次确认「能不能跑」「找不找得到」「包能不能装」:
# 需要 Python 3.x;确认版本
python --version
# Windows 上如果 python 不识别,试试 py --version# 需要 Python 3.x;确认解释器路径
python -c "import sys; print(sys.executable)"# 适用于 Python 3.8+
import sys
print(sys.version)
print(sys.executable)
print(sys.path[:3])这三行分别告诉你:解释器的版本字符串、它到底在磁盘的哪个位置、以及import时会去哪些目录找模块。最后一项sys.path尤其有用——当你遇到「明明装了某个包却 import 不到」时,看它就能确认是不是装到了别的解释器里。
常见坑点
- 去装 Python 2.7
❌ 照着老教程下载python-2.7.14,装完发现新写的库根本装不上。
✅ Python 2.7 已于 2020 年 1 月 1 日停止维护,不再有安全更新。装 Python 3,遇到 2 的写法按第二节的换算表改过来。
- 安装时没勾「Add python.exe to PATH」
❌ 装完在终端敲python,提示不是内部或外部命令。
✅ 重新运行安装器选「Modify」勾上,或者手动把解释器目录和Scripts目录加进PATH。不配 PATH 也能用,但每次都得写全路径。
- 用
python去探测,结果命中了 Windows 的应用执行别名
❌ 明明没装 Python,敲python也「有反应」,于是以为已经装好了。
✅ 那个python.exe只是个跳转商店的占位符。用python -c "import sys; print(sys.executable)"看真实路径,路径里带WindowsApps就说明命中的是占位符。
- 把系统 Python 当成自己的 Python
❌ 在 Linux 上sudo覆盖系统 Python 版本,之后包管理工具开始报错。
✅ 系统自带的 Python 只用来跑系统工具,自己的项目一律用虚拟环境或版本管理器另装一份。
- 用了
pip而不是python -m pip
❌ 机器上有多个解释器,pip install装到 A,python运行的却是 B。
✅ 用python -m pip install,或先跑python -m pip --version确认 pip 归属。
- 把安装包和解释器版本搞混
❌ 下载了 3.14 的安装包,却在项目里要求 3.8 才能跑的特性,或者反过来。
✅ 先定项目的最小支持版本,再按这个版本装解释器,并在虚拟环境里固定下来。
- 在 Windows 上写死
python3
❌ 脚本里写python3 foo.py,在 Windows 上找不到这个命令。
✅ Windows 官方安装器只提供python和py;跨平台脚本用sys.executable或者统一写python。
总结
| 问题 | 答案 |
|---|
| 装哪个版本 | Python 3,3.8+ 的写法覆盖面最广 |
| Python 2 还能用吗 | 不能,2.7 已于 2020-01-01 停止维护 |
| Windows 装完第一步做什么 | 确认勾了把 Python 加入 PATH,再验证sys.executable |
| Linux 上要重装吗 | 通常不用,系统已有python3,另建虚拟环境即可 |
| 怎么确认装对了 | python --version、sys.executable、python -m pip --version三连 |
下载安装本身只有几分钟,真正决定后续顺不顺利的是「PATH 指向谁」和「项目用哪个环境」。把这两点验证清楚,比装得多快重要得多。