The Python Guide:在 Windows 上安装与配置 Python 开发环境(Python 2.7 与 Python 3 全流程)
【免费下载链接】python-guidePython best practices guidebook, written for humans.项目地址: https://gitcode.com/gh_mirrors/py/python-guide
导读
本文以《The Python Guide》(python-guide)仓库中的 Windows 安装指南 为主体,系统讲解在 Windows 平台完成 Python 安装、PATH 环境变量配置、pip/Setuptools 安装以及虚拟环境管理的完整流程,并补充 Python 3(Chocolatey 方式)安装路线。读完本文,你将能够在 Windows 上从零搭建一套可用于真实项目开发、依赖隔离、可随时重建的 Python 环境,并理解各步骤背后的设计动机(如 Python 安装包为何默认不修改 PATH、为何目录内嵌版本号等)。
一、安装之前:先想清楚要装哪个 Python
在动手之前,先明确版本选择。仓库中的 Picking a Python Interpreter(3 vs 2) 给出了明确的结论:Python 3 是强烈推荐的选择;Python 2 已于 2020 年 1 月 1 日终止生命周期(EOL),只在维护存量代码、依赖仅支持 Python 2 的库等强理由下才应考虑使用。
不过,许多系统(如旧版 macOS、CentOS/RHEL/Ubuntu 老版本)默认自带 Python 2.7,而且仍有大量历史教程以 Python 2 为示例。因此仓库同时保留了 Python 2 与 Python 3 两套安装指南:
- Python 2 安装指南:
docs/starting/install/下的 Windows、Linux、OS X - Python 3 安装指南:
docs/starting/install3/下的 Windows、Linux、OS X
其中 Python 2 的 Windows 安装指南就是本文的主体;Python 3 的 Windows 指南(基于 Chocolatey)也会在后文完整展开。总入口见 Properly Installing Python。
二、在 Windows 上安装 Python 2.7(MSI 方式)
1. 下载与手动安装
从 Python 官方网站下载最新版 Python 2.7 的 Windows 安装包(MSI 格式)。如果想确保安装到完全最新的版本,可以打开 python.org 首页,点击Downloads > Windows链接获取。
Windows 版本的 Python 以MSI 安装包形式提供。手动安装只需双击文件即可启动安装向导。MSI 包格式的另一个重要价值是:它允许 Windows 管理员使用企业标准的工具(如组策略、脚本)自动化批量安装,适合需要大规模部署的运维场景。
2. 目录设计与多版本共存
Python 安装器在设计上有两个关键行为,理解了它们可以避免不少困惑:
- 安装目录内嵌版本号:按设计,Python 默认安装到带版本号的目录,例如 Python 2.7 会安装到
C:\Python27\。这使得同一台机器上可以同时存在多个版本的 Python 而互不冲突。 - 不自动修改 PATH:安装器不会自动修改
PATH环境变量,因此你对"运行哪一个 Python"始终保有完全的控制权——默认使用哪个解释器由你说了算(例如让python指向 Python 3,而python2指向 Python 2.7)。
当然,同一时间只能有一个解释器作为 Python 文件类型的默认关联程序。
3. 验证安装
打开命令提示符(cmd)或 PowerShell,输入:
python --version如果能输出Python 2.7.x之类的版本信息,说明解释器已可用(若未配置 PATH,则需要先完成下一步)。
三、配置 PATH 环境变量:让python随手可用
每次输入 Python 解释器的完整路径非常繁琐,因此建议将默认 Python 版本的目录加入PATH。假设 Python 安装在C:\Python27\,需要把下面两个目录加入PATH:
C:\Python27\;C:\Python27\Scripts\- 第一个目录
C:\Python27\包含python.exe解释器本体; - 第二个目录
C:\Python27\Scripts\会在安装某些包时接收生成的命令行工具(command files),例如pip.exe、easy_install.exe等,因此是一个非常有用的补充。
用 PowerShell 一键配置
在 PowerShell 中运行下面这行命令,即可把上述目录追加到当前用户的Path环境变量("User"表示仅作用于当前用户,不会影响系统级配置):
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27\;C:\Python27\Scripts\", "User")注意:
- 该命令修改的是持久化的用户级环境变量,新开的终端窗口才会生效;已经打开的窗口可能需要重启终端(或注销/重新登录)才能识别新的 PATH。
- 在安装向导的某些步骤中,也提供了在安装过程中直接勾选/填写 PATH的选项,等效于手动配置。
小提示:多版本并存时如何区分
仓库的 Python 2 指南中提到,Python 安装目录内嵌版本号就是为了多版本共存。与之呼应,macOS 指南 中展示了借助python/python2/python3三个可执行名区分解释器的做法;在 Windows 上同样可以用C:\Python27\python.exe与C:\Python39\python.exe这类全限定路径精确指定解释器。
四、安装后必做:Setuptools 与 pip
1. 为什么它们是"最关键的两个第三方包"
Setuptools 与 pip 是 Python 生态中最核心的两个第三方包:
- 安装完成后,你可以用一条命令完成任何合规 Python 软件的下载、安装与卸载;
- 你还能以极小的成本,把这种"网络安装"能力集成到自己的 Python 软件中(即通过
setup.py声明依赖,由 pip 自动解析安装)。
仓库各安装指南(如 Linux 版)都强调:在开始构建真实项目之前,务必安装这些工具,其中Setuptools 尤其应该总是安装,因为它是使用其他第三方库的基础。
2. 哪些版本自带 pip
- Python 2.7.9 及之后(Python 2 系列);
- Python 3.4 及之后。
都默认内置 pip。因此,只要你的 Python 版本满足上述条件,这一节大多只需"确认 + 升级"。
3. 检查 pip 是否已安装
打开命令提示符运行:
command -v pip说明:
command -v是类 Unix 风格的命令,用于查看某个命令的解析路径。如果 pip 存在,会输出其可执行文件路径;如果输出为空或报错,说明 pip 尚未安装或不在 PATH 中。
在 Windows 上也可以直接运行pip --version验证。需要注意:在某些发行版上pip与pip3分别对应 Python 2 / Python 3(详见 Linux 安装指南),Windows 上建议使用python -m pip ...形式调用,避免版本歧义。
4. 安装 / 升级 pip 与 Setuptools
如果 pip 缺失,按官方 pip 安装指南操作即可——该流程会自动安装最新版 Setuptools。对于已自带 pip 的版本,直接升级到最新:
python -m pip install -U pip(该命令在 Python 3 的 Windows 指南 中同样被推荐使用,用于确保所有受支持的 Python 3 版本都带上最新的 pip。)
五、现代路线:用 Chocolatey 安装 Python 3
如果你不想手动下载 MSI,仓库提供了更现代的 Python 3 安装路线——使用Chocolatey(Windows 7+ 的社区级包管理器,体验类似 macOS 上的 Homebrew)。
1. 安装 Chocolatey
先按照 Chocolatey 官方安装说明完成 Chocolatey 的安装。
2. 一条命令安装 Python 3
Chocolatey 将 Python 3 作为默认推送版本,因此安装非常简单:
choco install python运行完毕后,应该就能直接从控制台启动 Python 了。Chocolatey 的一个显著优点是自动把 Python 加入 PATH,省去了手动配置环境变量的步骤——这与上文 Python 2 MSI 安装器"不修改 PATH"的行为形成鲜明对比,也解释了为什么它是推荐路线。
3. 升级 pip
所有受支持的 Python 3 版本都内置 pip,只需确保它是最新的:
python -m pip install -U pip六、虚拟环境:让每个项目的依赖井水不犯河水
1. 什么是虚拟环境
虚拟环境(Virtual Environment)是一套将不同项目所需依赖隔离存放的工具:它为每个项目创建独立的 Python 环境。它解决的经典困境是:
"项目 X 依赖 1.x 版,而项目 Y 需要 4.x 版。"
例如,你可以同时维护一个依赖 Django 2.0 的项目和一个依赖 Django 1.8 的项目(Python 3 指南的示例;Python 2 指南中的对应示例是 Django 1.10 与 1.8),各自互不干扰。此外,虚拟环境还能让你的全局 site-packages 目录保持干净、可控。
详细的虚拟环境教程位于 Pipenv & Virtual Environments。
2. 低层工具:virtualenv(Windows 同样适用)
virtualenv是创建隔离 Python 环境的底层工具:它创建一个文件夹,内含项目所需的一切可执行文件与 pip 副本。安装与验证:
$ pip install virtualenv $ virtualenv --version基本用法(Windows 与类 Unix 通用):
$ cd project_folder $ virtualenv venvvirtualenv venv会在当前目录创建venv文件夹(venv是业界通用约定名,常见于各类 ignore 文件如.gitignore中),其中包含 Python 可执行文件与一份 pip 副本。环境名可任意取,省略名称则文件直接放到当前目录。
激活环境(Windows 与 Unix 命令不同):
C:\Users\SomeUser\project_folder> venv\Scripts\activate激活后,提示符左侧会出现环境名(如(venv)C:\Users\SomeUser\project_folder>),此后pip install安装的任何包都会进入venv文件夹,与全局 Python 安装隔离。Linux/macOS 对应命令是source venv/bin/activate。退出环境统一使用:
$ deactivate删除环境只需删除venv文件夹本身。仓库还提醒:Python 3.3 起标准库内置了venv模块,可替代第三方virtualenv。
3. 高层工具:Pipenv(推荐)
Pipenv 是面向项目的依赖管理器,精神上类似 Node.js 的 npm 或 Ruby 的 Bundler——比 pip 更上层,简化了常见场景下的依赖管理。安装(使用--user做用户级安装,避免破坏系统包):
$ pip install --user pipenv在 Windows 上,若安装后pipenv命令不可用,需要把用户级 Scripts 目录加入 PATH:运行py -m site --user-site得到类似C:\Users\Username\AppData\Roaming\Python36\site-packages的路径,将其中的site-packages替换为Scripts,得到C:\Users\Username\AppData\Roaming\Python36\Scripts,再把它加入用户 PATH(可通过控制面板修改,改完可能需要注销后生效)。
项目内安装依赖:
$ cd project_folder $ pipenv install requestsPipenv 会创建虚拟环境并在项目目录生成Pipfile(用于记录项目依赖,便于分享与重装)。之后使用pipenv run python main.py运行脚本,或用pipenv shell进入一个已激活依赖的 shell。
4. Windows 用户的增强工具:virtualenvwrapper-win
类 Unix 上有 virtualenvwrapper 把所有环境集中管理;Windows 上对应的是virtualenvwrapper-win:
$ pip install virtualenvwrapper-winWindows 下默认的WORKON_HOME为%USERPROFILE%\Envs。常用命令:
mkvirtualenv project_folder:在~/Envs下创建环境;workon project_folder:激活/切换环境(会自动退出当前环境);deactivate:退出;rmvirtualenv venv:删除环境。
七、进阶配置:pip 与虚拟环境的"红线"管理
仓库的 Further Configuration of pip and Virtualenv 提供了两条 Windows 开发者常用的硬核配置。
1. 强制 pip 只能在虚拟环境里安装
多项目切换时很容易"以为装进了虚拟环境,实际装进了全局"。可以在pip.ini(Windows 上位于%USERPROFILE%\pip\pip.ini,Unix 是~/.pip/pip.conf)中写入:
[global] require-virtualenv = true此后在非虚拟环境中执行pip install会得到提示:
$ pip install requests Could not find an activated virtualenv (required).若仍需要安装全局工具包,可定义别名函数gpip() { PIP_REQUIRE_VIRTUALENV=false pip "$@"; }(类 Unix 的~/.bashrc写法)来按需绕过。
2. 缓存已下载的包
pip 6.0 起默认启用缓存机制,无需配置;旧版本可通过pip.ini的[global]段设置:
[global] download-cache = %USERPROFILE%\pip\cache类 Unix 对应download-cache = $HOME/.pip/cache,缓存可避免每个新项目重复下载同一批包。
八、验证安装与常见问题排查
装完之后,建议按下面清单做一轮端到端验证:
| 检查项 | 命令 | 期望结果 |
|---|---|---|
| Python 解释器 | python --version(Python 3 用python3) | 输出版本号 |
| pip 可用 | python -m pip --version | 输出 pip 版本及其所属 Python 路径 |
| 虚拟环境创建 | virtualenv venv后venv\Scripts\activate | 提示符出现(venv)前缀 |
| 依赖冻结/重建 | pip freeze > requirements.txt与pip install -r requirements.txt | 能在新环境复现相同版本依赖 |
常见问题与对策:
'python' 不是内部或外部命令:PATH 未生效,重新检查C:\Python27\(或对应安装目录)是否已加入用户 PATH,并重启终端。pip指向了错误的 Python:优先使用python -m pip ...调用,确保 pip 与当前解释器版本一一对应。command -v pip无输出:pip 未安装或未入 PATH,按第四节流程处理。- 激活脚本
venv\Scripts\activate报执行策略错误:这是 PowerShell 的执行策略限制,与 Python 本身无关,按 PowerShell 官方文档调整策略或用 cmd 执行即可。
九、延伸阅读(仓库内相关文档)
- Properly Installing Python(安装总入口):三平台安装指南索引,以及"为什么推荐同时安装 Setuptools、Pip 与 Virtualenv"的说明。
- Picking a Python Interpreter(3 vs 2):版本选型、CPython/PyPy/Jython 等实现对比。
- Pipenv & Virtual Environments:虚拟环境完整教程(Pipenv 与 virtualenv 双路线、依赖冻结与重建)。
- Further Configuration of pip and Virtualenv:
require-virtualenv、下载缓存等进阶配置。 - Installing Python 3 on Windows(Chocolatey 路线):本文第五节内容的原文出处。
- Installing Python 2 on Linux 与 Installing Python 2 on Mac OS X:跨平台安装参考。
结语
在 Windows 上搭建 Python 环境的完整路径可以概括为四步:选对版本 → 装好解释器(MSI 或 Chocolatey)→ 配好 PATH 与 pip/Setuptools → 用虚拟环境隔离项目依赖。理解"内嵌版本号目录 + 不自动改 PATH"这两条设计,你就能在多版本共存时始终掌控"运行的是哪个 Python";而 pip 与虚拟环境的组合,则是保证全局环境干净、项目依赖可复现的基石。这套流程与本仓库的 Linux 指南、macOS 指南 相互呼应,构成了跨平台的统一最佳实践。
【免费下载链接】python-guidePython best practices guidebook, written for humans.项目地址: https://gitcode.com/gh_mirrors/py/python-guide
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考