【发布时间】:2023-02-21 11:18:49
【问题描述】:
我知道可以在 Windows 系统上安装两个不同版本的 Python。但是我无法让两个相同版本的安装(在我的例子中是 3.8.10)共存。
我正在设计一个创建 Python 进程的应用程序。该过程需要从特定版本的 Python 运行,并在其上安装特定版本的包。为了完全控制 Python 安装,决定将其安装在应用程序分发目录中,将其与系统上安装的任何其他 Python 隔离开来。没有环境变量引用它。
作为应用程序部署/安装过程的一部分,PowerShell 脚本会下载 Python 安装程序并将 Python 和必要的包安装到应用程序分发目录中。 Python 安装程序调用如下:
.\\python-3.8.10-amd64.exe /quiet InstallAllUsers=1 PrependPath=1 Include_test=0 TargetDir="$curDir\\Python" Include_exe=1 Include_lib=1 Include_pip=1 Include_tcltk=1 | Out-Null
除非系统已经安装了相同版本的 Python,否则它运行良好。在这种情况下,运行安装程序将破坏现有的安装,而不是完全安装新的。
我尝试手动运行安装程序,我注意到它能够以某种方式检测到系统上存在相同版本的安装。在这种情况下,它不允许进行新安装。为此,我必须在当前位置卸载 Python 才能将其安装到其他位置。
有没有办法在 Windows 系统上安装两个不同的相同版本的 Python 3?如果是,怎么办?
【问题讨论】:
-
使用 Anaconda,只需点击几下,您就可以在其中创建尽可能多的虚拟环境。
-
我认为这就是虚拟环境存在的原因。编辑:参见关于Virtual envs 的 python 文档
-
@Andreas anaconda 非常重,安装了许多 OP 可能不需要的包。不过,我同意使用虚拟环境的观点。
-
@Ivanhercaz 不,我的问题是关于安装在同一版本上的两个 Python。