如何在virtualenv中安装Python的旧版本?

5

我之前已经全局安装了Python3,接着我创建了一个虚拟环境。现在我想在虚拟环境中切换到Python2.7版本。尝试安装Python2.7只给了我将其安装到硬盘的选项。请问我如何在虚拟环境中指定Python版本?


virtualenv 提供了一种在一个干净的环境中运行现有版本的 Python 的方法。因此,在使用 virtualenv 之前,您需要在某个地方安装 Python 2.7。 - donkopotamus
1个回答

5
首先,它绝对是可以的。如果我们查看virtualenv --help,我们将看到我们有选项可以使用-p标志指定python可执行文件。但是,您的问题略有不同,因为您已经将python3链接到python可执行文件中。在另一个问题中讨论了这个问题。然而,这不是一个很好的答案,因为它涉及制作,然后创建新的Python安装的符号链接。
相反,最好使用Python版本管理器,如pyenvpythonz。我自己更喜欢pyenv。如果您在*nix机器上,则只需按照这里概述的说明进行操作。
安装完成后,您应该看到在安装结束时会得到一些指令。
# Load pyenv automatically by adding
# the following to ~/.zshrc:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

只需将以下内容添加到您的 .bashrc 或 .zshrc 文件末尾。如果您正在使用 Windows,则这个过程会更加困难。有一个pip安装程序。但请注意,它目前还不是完全稳定的。

完成所有这些步骤后,您只需要安装您需要的 Python 版本即可。

pyenv install 2.7.10

一旦完成上述步骤,请运行pyenv rehash,然后运行pyenv global <你安装的版本>(可能与2.7.10不同)。
现在,您可以使用virtualenv创建虚拟环境,并且它应该具有您想要的Python版本。

好的。这很有帮助,但似乎比仅安装Python2.7并使用-p更复杂。我会先尝试那个。 - jukhamil
如果您使用venv模块,pyenv install将为您提供安装的Python路径。只需调用此Python创建虚拟环境:<path_to_pyenv_installed_python>/python -m venv <path_to_virtual_environment> - robertspierre

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接