Windows系统能否共存两个同修订版的Python 3?如何实现?
在Windows系统中实现同修订版Python 3共存的方法
可行结论:完全可以实现同版本Python共存
下面是两种最直接的实现方式,均能保证你的应用环境与系统现有Python完全隔离:
方案1:使用Python嵌入式分发包(推荐)
嵌入式版本是官方提供的免安装压缩包,天生具备隔离性:
- 从Python官网下载对应修订版的嵌入式压缩包(如
python-3.8.10-embed-amd64.zip) - 将压缩包直接解压到应用分发目录的指定位置(例如
$curDir\Python) - 补充安装pip(嵌入式版默认不含pip):
- 获取
get-pip.py脚本,运行以下命令安装pip到该环境:.\Python\python.exe get-pip.py
- 获取
- 该环境完全独立,不会读取或修改系统注册表、环境变量,也不会与系统中已安装的同版本Python产生冲突
方案2:修改官方安装程序参数,绕过版本检测
通过调整安装参数,让官方安装程序不写入系统注册表,从而避免同版本冲突:
- 移除
InstallAllUsers=1,改用InstallAllUsers=0(避免系统级注册) - 添加
NoRegistry=1参数,阻止安装程序向系统注册表写入信息 - 关闭
PrependPath=1为PrependPath=0,避免修改系统环境变量 - 调整后的PowerShell命令如下:
.\python-3.8.10-amd64.exe /quiet InstallAllUsers=0 PrependPath=0 NoRegistry=1 Include_test=0 TargetDir="$curDir\Python" Include_exe=1 Include_lib=1 Include_pip=1 Include_tcltk=1 | Out-Null - 此方式安装的Python会完全部署到指定目录,不与系统现有同版本Python共享任何注册信息,自然不会产生冲突
注意事项
- 无论使用哪种方式,调用Python进程时都要指定绝对路径(如
$curDir\Python\python.exe),确保使用的是你部署的隔离环境,而非系统Python - 嵌入式版本部分功能可能受限(如无法直接安装某些依赖系统库的包),如果你的应用需要完整Python功能,优先选择方案2
内容的提问来源于stack exchange,提问作者Guett31
相关产品推荐
相关产品推荐

