Windows 安装 Python
在 Windows 上安装 Python(Python)有多种方式:从官网下载官方安装程序、通过包管理器(Package Manager)winget 或 Microsoft Store 安装,以及使用 WSL2 获得接近 Linux 的开发体验。本节将带你完成安装、配置环境变量(Environment Variable)、验证运行,并配置好 pip 与 venv(虚拟环境,Virtual Environment)。
前置知识
阅读本节前,建议先了解:Python 是什么
基础概念
Python 在 Windows 上以官方安装程序(Installer)的形式分发,安装包内包含解释器(Interpreter)、标准库(Standard Library)、包管理器 pip、图形化开发环境 IDLE,以及可选的启动器(py launcher)。
Windows 版 Python 有几个关键概念需要区分:
| 概念 | 说明 |
|---|---|
| Installer | python-3.12.x-amd64.exe 官方安装程序,带图形界面 |
| Embeddable Package | 嵌入式压缩包,无安装程序,用于嵌入到其他应用 |
| py launcher | py.exe,Windows 专属的版本启动器,可切换多个 Python 版本 |
| Microsoft Store 版 | 由微软打包发布,自动更新,但权限受限 |
| Add to PATH | 安装时勾选后,可在任意终端直接输入 python |
安装程序分为 32 位(x86)与 64 位(amd64)两种。现代 Windows 10/11 应始终选择 64 位 版本。
语法与用法
Windows 上推荐的安装命令(使用 winget 包管理器):
# 使用 winget 安装最新稳定版 Python 3.12
winget install --id Python.Python.3.12 -e
# 安装 Python 3.13
winget install --id Python.Python.3.13 -e
# 查看已安装的 Python 包
winget list --id Python.Python
# 升级到最新版本
winget upgrade --id Python.Python.3.12 -e安装后验证:
# 查看版本
python --version
# 查看 pip 版本
pip --version
# 查看已安装模块
python -m pip list详细说明
方式一:官网安装程序
这是最官方、最可控的安装方式,适合需要精确控制安装选项的开发者。
- 访问 python.org/downloads/windows,下载最新的 Windows installer (64-bit),例如
python-3.12.7-amd64.exe。 - 双击运行安装程序。
- 务必勾选 底部的
Add python.exe to PATH,否则后续需要在环境中手动添加。 - 点击
Customize installation可以自定义安装路径与可选组件。 - 在
Advanced Options中建议勾选:Install Python 3.12 for all users(为所有用户安装,需管理员权限)Add Python to environment variables(添加环境变量)Precompile standard library(预编译标准库,加快启动)
关键一步
如果不勾选 Add python.exe to PATH,在命令行输入 python 会提示“不是内部或外部命令”。补救方式见下文「环境变量配置」,或重新运行安装程序选择 Modify。
安装完成后,在 PowerShell 中验证:
# 打开一个新的 PowerShell 窗口
python --version
# 输出:Python 3.12.7
# 查看解释器路径
where python
# 输出:C:\Users\<用户名>\AppData\Local\Programs\Python\Python312\python.exe方式二:winget 包管理器
winget 是 Windows 10 1809+ 与 Windows 11 内置的命令行包管理器,等价于 macOS 的 Homebrew 或 Linux 的 apt。
# 确认 winget 可用
winget --version
# 搜索可用的 Python 版本
winget search Python.Python
# 安装指定版本
winget install --id Python.Python.3.12 -e
# 静默安装(无人值守)
winget install --id Python.Python.3.12 -e --silent --accept-package-agreementswinget 安装位置
winget 安装的 Python 默认位于 C:\Users\<用户名>\AppData\Local\Programs\Python\Python312,并会自动添加到用户级 PATH,无需手动配置。
方式三:Microsoft Store
在 Microsoft Store 中搜索 "Python 3.12" 即可安装。优点是自动更新、沙盒化,缺点是文件系统权限受限,某些需要写入系统目录的操作会失败。
# 通过命令行安装 Store 版
winget install --id 9NCVDN91XZQP -e # Python 3.12 Store 版
# Store 版安装后带有别名,python 与 python3 均可用
python3 --version不推荐用于生产
Store 版 Python 运行在受限沙盒中,调试器附加、部分 C 扩展编译可能失败,建议仅用于快速体验。
方式四:py launcher 多版本切换
Windows 独有的 py 启动器(py launcher)可以在多个已安装的 Python 版本之间切换:
# 列出所有已注册的 Python 版本
py --list
# 输出示例:
# -V:3.13 * Python 3.13 (64-bit)
# -V:3.12 Python 3.12 (64-bit)
# -V:3.11 Python 3.11 (64-bit)
# 使用指定版本运行脚本
py -3.12 script.py
py -3.13 -m pip install requests
# 使用默认版本(最高版本)
py script.py也可以在脚本头部或 .py 文件首行写出版本要求:
#! python3.12
"""脚本头部声明使用 Python 3.12 运行(配合 py launcher)。"""
import sys
print(f"当前解释器版本:{sys.version}")方式五:WSL2(推荐用于 Web/服务端开发)
WSL2(Windows Subsystem for Linux 2)并非在 Windows 上安装 Windows 版 Python,而是在 Windows 内运行一个真实的 Linux 内核,从而获得与生产服务器一致的环境。
# 以管理员身份打开 PowerShell,安装 WSL2 与默认发行版(Ubuntu)
wsl --install
# 指定发行版
wsl --install -d Ubuntu-24.04
# 查看已安装的发行版与状态
wsl --list --verbose
# 安装完成后重启计算机,再进入 WSL
wsl进入 Ubuntu 后,Python 通常已预装(python3),可进一步安装 pip 与 venv:
# 更新软件源
sudo apt update && sudo apt upgrade -y
# 安装 pip 与 venv(Ubuntu 24.04 的 PEP 668 要求使用系统包或虚拟环境)
sudo apt install -y python3-pip python3-venv
# 验证
python3 --version
python3 -m pip --versionWSL2 与 Windows 的互操作
在 WSL 中可以使用 explorer.exe . 打开当前目录的 Windows 资源管理器;在 Windows 中可通过 \\wsl$\Ubuntu\home\<用户> 访问 WSL 文件系统。但代码建议放在 WSL 的 /home 下,跨文件系统访问性能较差。
环境变量配置
PATH 配置
# 临时添加(仅当前 PowerShell 会话有效)
$env:Path += ";C:\Users\<用户名>\AppData\Local\Programs\Python\Python312"
# 永久添加到当前用户(推荐)
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", "User") + ";C:\Users\<用户名>\AppData\Local\Programs\Python\Python312",
"User"
)
# 永久添加到所有用户(需要管理员权限)
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", "Machine") + ";C:\Python312",
"Machine"
)图形化操作步骤:
- 按
Win + R,输入sysdm.cpl回车。 - 切换到「高级」选项卡,点击「环境变量」。
- 在「用户变量」或「系统变量」中找到
Path,点击「编辑」。 - 点击「新建」,粘贴 Python 安装目录与
Scripts子目录两条:C:\Python312C:\Python312\Scripts
- 逐级点击「确定」保存,然后重启终端。
PYTHONPATH 与 PYTHONUTF8
# PYTHONPATH:追加模块搜索路径
[Environment]::SetEnvironmentVariable("PYTHONPATH", "D:\my_modules", "User")
# PYTHONUTF8:强制 UTF-8 模式(Python 3.7+)
[Environment]::SetEnvironmentVariable("PYTHONUTF8", "1", "User")
# PYTHONDONTWRITEBYTECODE:不生成 __pycache__ 目录
[Environment]::SetEnvironmentVariable("PYTHONDONTWRITEBYTECODE", "1", "User")UTF-8 模式
Windows 默认使用 GBK 作为控制台编码,容易在读写中文文件时出现 UnicodeDecodeError。设置 PYTHONUTF8=1 可让 Python 全局使用 UTF-8,强烈推荐。
验证安装
基本验证命令
# 1. 解释器版本
python --version
# 2. pip 是否可用
python -m pip --version
# 3. 解释器详细信息(构建信息、编译器)
python -c "import sys; print(sys.version)"
# 4. 查看解释器路径
python -c "import sys; print(sys.executable)"
# 5. 查看 site-packages 目录
python -c "import site; print(site.getsitepackages())"
# 6. 确认平台架构
python -c "import platform; print(platform.architecture())"编写测试脚本
"""hello_python.py —— 环境自检脚本。"""
import sys
import platform
from pathlib import Path
def check_environment() -> None:
"""打印当前 Python 环境的关键信息,用于验证安装是否成功。"""
print(f"Python 版本:{sys.version.split()[0]}")
print(f"解释器路径:{sys.executable}")
print(f"操作系统:{platform.system()} {platform.release()}")
print(f"系统架构:{platform.machine()}")
print(f"当前工作目录:{Path.cwd()}")
if __name__ == "__main__":
check_environment()运行方式:
py hello_python.py
# 或
python hello_python.py实战示例
案例一:创建虚拟环境并安装依赖
# 1. 进入项目目录
cd D:\projects\demo
# 2. 创建虚拟环境(venv 已内置,无需额外安装)
python -m venv .venv
# 3. 激活虚拟环境(PowerShell)
.\.venv\Scripts\Activate.ps1
# 如果在 PowerShell 中提示执行策略限制,先运行:
# Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
# 4. 激活后命令行前缀会显示 (.venv)
# 升级 pip
python -m pip install --upgrade pip
# 5. 安装依赖
pip install requests
# 6. 导出依赖清单
pip freeze > requirements.txt
# 7. 退出虚拟环境
deactivate在 CMD(命令提示符)中激活的写法不同:
:: CMD 中使用 activate.bat
.venv\Scripts\activate.bat
:: 退出
deactivate案例二:通过国内镜像加速 pip
# 临时指定镜像源(清华 TUNA)
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
# 永久配置镜像源
python -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 查看当前 pip 配置
python -m pip config list
# 配置文件位于:
# C:\Users\<用户名>\AppData\Roaming\pip\pip.inipip.ini 内容示例:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
timeout = 60注意事项
- 不要勾选经典路径陷阱:安装路径中避免出现中文与空格,否则某些工具链(如 C 扩展编译)会失败。
- PATH 顺序问题:如果同时安装了多个 Python 且都在 PATH 中,
python会使用最先找到的那个,建议使用py -3.x明确指定。 - Windows 应用执行别名:Windows 10/11 默认在
设置 → 应用 → 高级应用设置 → 应用执行别名中注册了python.exe与python3.exe的商店占位程序,会导致输入python弹出商店。请关闭这两个别名。 - 常见报错
python 不是内部或外部命令:PATH 未配置或未重启终端。 pip与pip3:Windows 上pip3可能不存在,统一使用python -m pip更可靠。
常见问题排查表:
| 现象 | 原因 | 解决 |
|---|---|---|
| 输入 python 打开商店 | 应用执行别名未关闭 | 关闭 python.exe/python3.exe 别名 |
python 命令找不到 | PATH 未配置 | 手动添加 PATH 并重启终端 |
| pip 安装报 SSL 错误 | 网络/证书问题 | 更换镜像源或升级 pip |
| 中文输出乱码 | 控制台编码 GBK | 设置 PYTHONUTF8=1 |
| Activate.ps1 被拒绝 | 执行策略限制 | 设置 RemoteSigned |
| 无法编译 C 扩展 | 缺少 Visual C++ 生成工具 | 安装 Visual Studio Build Tools |
ModuleNotFoundError | 未激活虚拟环境 | 检查命令行前缀与 sys.executable |
编译 C 扩展所需的构建工具
某些第三方库(如 numpy、cryptography)需要编译本地扩展,Windows 上需要安装 Visual C++ 生成工具:
# 使用 winget 安装 Visual Studio 生成工具
winget install --id Microsoft.VisualStudio.2022.BuildTools -e
# 安装 Python 官方要求的 "Desktop development with C++" 工作负载
# 或在安装向导中勾选:
# - MSVC v143 - VS 2022 C++ x64/x86 生成工具
# - Windows 10/11 SDK优先使用预编译 wheel
大多数常用库在 PyPI 上提供 Windows 预编译 wheel(.whl),无需本地编译。只有源码发行版(sdist)才需要构建工具。必要时可先尝试 pip install --only-binary :all: <包名> 强制使用二进制包。
卸载与重装
# 通过 winget 卸载
winget uninstall --id Python.Python.3.12
# 通过「设置 → 应用 → 已安装的应用」图形化卸载
# 卸载后清理残留目录:
# C:\Users\<用户名>\AppData\Local\Programs\Python\Python312
# C:\Users\<用户名>\AppData\Roaming\Python
# C:\Users\<用户名>\AppData\Local\pip\cache最佳实践
- 优先使用 winget 安装:便于统一升级与卸载,避免手动管理安装包。
- 始终勾选 Add to PATH:安装程序中这一步决定了后续体验。
- 为每个项目创建独立虚拟环境:使用
python -m venv .venv,不要全局 pip install。 - 配置国内镜像源:显著提升依赖安装速度。
- 使用 py launcher 管理多版本:避免 PATH 顺序混乱。
- 生产环境或需要 Linux 一致性时使用 WSL2:见 多版本共存方案。
- 定期更新:关注 Python 版本生命周期,及时升级安全补丁。
下一节
继续学习:macOS 安装 Python