【问题标题】:Is it possible to have two distinct installs of Python 3 of the same revision on a Windows system?是否可以在 Windows 系统上安装两个不同的相同版本的 Python 3?
【发布时间】: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?如果是,怎么办?

【问题讨论】:

  • 这回答了你的问题了吗? How to install multiple versions of Python in Windows?
  • 使用 Anaconda,只需点击几下,您就可以在其中创建尽可能多的虚拟环境。
  • 我认为这就是虚拟环境存在的原因。编辑:参见关于Virtual envs 的 python 文档
  • @Andreas anaconda 非常重,安装了许多 OP 可能不需要的包。不过,我同意使用虚拟环境的观点。
  • @Ivanhercaz 不,我的问题是关于安装在同一版本上的两个 Python。

标签: python windows


【解决方案1】:

一个更好的方法是使用虚拟环境,而不是再次安装 python。

创建一个新的 python 环境。在 Windows 上打开命令行 (Powershell) 并导航到您希望 python 环境所在的目录。

  • 输入python3 -m venv tutorial-env。这将创建一个名为 tutorial-env 的新 python 虚拟环境
  • 要在 Windows powershell 类型上激活该环境:tutorial-envScriptsctivate.bat
  • 停用环境类型deactivate

如果您想知道 python 虚拟环境的作用。他们基本上做了你想做的事情,但没有再次全局安装 python。当你创建一个新的 python env 时,一个新的 python3 被放置在你的 env 目录中,在本例中是在 tutorial-env 目录中,当你激活环境时,它将 python 全局路径替换为你的 env 中的路径(在本例中为tutorial-env)。现在,当你在这个虚拟环境中安装新的 python 包时,它们只有在你激活该环境时才可用。

更多关于虚拟环境的信息请参考Python official docs.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多