Win10怎么同时安装多个版本Python并切换使用
在 Windows 10 系统中同时安装并使用多个 Python 版本,最稳妥且官方推荐的核心解法是:使用清晰独立的目录分别安装各版本,不将多个 Python 全部写入全局 PATH 环境变量,统一借助 Windows 自带的官方 py 启动器(Python Launcher)指定版本运行或创建隔离的虚拟环境。这样既能避免执行文件重命名带来的升级隐患,又彻底解决了命令行命令冲突的问题。
一、为什么直接修改可执行文件名不是好方案
很多初学者在遇到版本冲突时,常去安装目录下把 python.exe 直接改名为 python38.exe 或 python311.exe。这种做法看似简单,但后续会引发两个严重隐患:
- 破坏 pip 工具运行:
pip在很多情况下依赖名为python.exe的可执行文件。改名后使用 pip 安装包经常会出现Fatal error in launcher等报错。 - 影响版本内置升级与卸载:当通过官方安装包进行微版本更新(如 3.10.2 升级到 3.10.8)或卸载时,安装程序会因找不到原本的二进制文件而报错中断。
因此,标准的做法是保持原文件名称不变,通过官方提供的分发调度机制来管理多个版本。
二、各版本 Python 的规范安装步骤
为了让多个版本清晰共存,建议在安装阶段做好路径规范与关键选项的配置。
1. 下载与规划目录
从 Python 官网(python.org)下载所需的各个版本的 64 位 Windows 安装包(如 Python 3.8.10 与 Python 3.11.5)。建议在磁盘中规划专门的结构,例如:
C:\Python\Python38C:\Python\Python311
避免使用默认的长路径(AppData 目录下路径过长且含有用户名),统一集中存放更便于后续管理。
2. 执行安装与关键选项选择
运行安装包时,务必注意首界面的两个勾选项:
- 勾选 “Use admin privileges when installing py.exe” 与 “py launcher”:确保安装 Python 启动器,这是 Windows 自动分发多版本的关键组件。
- 不要勾选 “Add python.exe to PATH”:如果两个版本都勾选加入环境变量,命令行输入
python时只会永远执行 PATH 靠前的那个版本,极易产生版本识别混乱。 - 选择 Customize installation(自定义安装),在高级选项中选择安装路径为你规划的目录(如
C:\Python\Python38),点击安装完成即可。
其他版本重复上述步骤,仅需把安装目录指向各自的文件夹。
三、使用官方 py 启动器自由切换运行
Python 官方针对 Windows 系统提供了 py.exe 工具,它通常自动安装在 C:\Windows\py.exe 下(已在系统默认路径中)。它可以根据参数自动调用注册表中已安装的具体 Python 版本。
1. 查看已识别的所有版本
打开 Win10 的 命令提示符(CMD)或 PowerShell,执行以下命令:
py --list
示例输出:
Installed Pythons found by py Launcher for Windows
-3.11-64 * C:\Python\Python311\python.exe
-3.8-64 C:\Python\Python38\python.exe
输出中带 * 号的表示默认启动版本。
2. 切换版本执行脚本或进入交互环境
通过添加版本号参数,即可指定以特定版本运行:
# 进入 Python 3.8 交互环境
py -3.8
# 进入 Python 3.11 交互环境
py -3.11
# 使用 Python 3.8 运行指定脚本
py -3.8 script.py
# 使用 Python 3.11 运行指定脚本
py -3.11 script.py
3. 为不同版本安装第三方依赖(pip 管理)
多版本共存时,切勿直接执行 pip install 包名,因为这可能会随意将包安装到未知的某个版本目录中。推荐使用 py -版本号 -m pip 明确指定所属的 Python 环境:
# 为 Python 3.8 安装 requests
py -3.8 -m pip install requests
# 为 Python 3.11 安装 numpy
py -3.11 -m pip install numpy
# 分别检查各版本的第三方库列表
py -3.8 -m pip list
py -3.11 -m pip list
-m pip 形式调用,Python 会自动对应对应解释器所属目录下的 Scripts 与 site-packages,完全不需要配置 pip 的环境变量。
四、结合虚拟环境(venv)实现项目级版本隔离
在日常开发中,最好的习惯是在具体项目目录下创建虚拟环境。虚拟环境不仅能指定 Python 大版本,还能彻底隔离项目的第三方库,避免版本互相污染。
# 场景:项目 A 需要 Python 3.8
cd D:\Projects\ProjectA
py -3.8 -m venv venv38
# 激活该项目的虚拟环境(CMD)
venv38\Scripts\activate.bat
# 此时命令行前缀会显示 (venv38),在此环境中直接使用 python 和 pip 均天然指向 Python 3.8
python -V
pip install django==3.2
当需要切换到使用 Python 3.11 的项目时,只需在另一目录下基于 py -3.11 -m venv venv311 建立环境即可,彼此之间互不干扰。
五、方案总结与排查要点
下表总结了 Windows 10 多版本 Python 协同运行的核心操作规范:
常见问题排查
- 输入
py提示无法识别:说明在安装时未勾选 Python Launcher。可重新运行任一版本的安装包,选择 Modify(修改),勾选并安装py launcher即可。 py --list未列出新安装的版本:通常是因为安装时没有勾选“为所有用户安装”或注册表未写入。建议重新运行对应版本的安装包选择 Repair(修复)。- 在 VS Code / PyCharm 中切换:主流编辑器均内置了多版本检测功能。在 VS Code 中点击右下角 Python 版本号,或者在设置中直接浏览选择
C:\Python\Python38\python.exe,即可轻松绑定对应环境。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













