如何为指定版本的Python创建虚拟环境?


当前回答

这是virtualenv的错误。只是升级你的pip应该是解决方案。

pip安装—升级virtualenv

其他回答

-p方法运行良好,但您必须记住每次都使用它。如果您的目标是切换到较新版本的Python,这是一个痛苦,也可能导致错误。

您的另一个选项是设置一个环境变量,该变量的作用与-p相同。通过~/.bashrc文件或管理登录会话的环境变量的任何位置设置:

export VIRTUALENV_PYTHON=/path/to/desired/version

然后,每当您不在命令行上指定-p时,virtualenv就会使用它。

对于2019年的Debian(Debian 9)系统,我发现了一个简单的解决方案,可以从虚拟环境中解决问题。

假设虚拟环境是通过以下方式创建的:

python3.7 -m venv myenv

但只有python2和python2.7的版本,您需要python3.7的最新功能。

然后,只需运行以下命令:

(myvenv) $ python3.7 -m venv --upgrade /home/username/path/to/myvenv/

如果您的系统上已经有python3.7包,则将添加这些包。

在Linux Ubuntu 21.04(当前为Python 3.9.5)上,我需要获得Python 3.7.8的虚拟版本。开始工作的完整步骤:

查找所需的Python版本源代码,例如3.7.8在这里:https://www.python.org/downloads/release/python-378/

下载Gzipped源代码tarball

使用tar zxvf Python-3.0.8.tgz解压缩(如果与3.7.8不同,请根据需要修改版本号)

使用以下命令将解压缩的文件夹复制到/usr/bin:sudo cp-r Python-3.78/usr/bin

cd /usr/bin/Python-3.7.8/

如果您想了解目前的内容,请检查内容:ls

sudo time ./configure
sudo time make
time sudo make install
time make clean

检查python的设置和报告方式:

which python
python --version

应该都与您的主要安装有关(Python 3.9.5适用于我)

要检查新安装,请执行以下操作:

which python 3.7
python3.7 --version

应与3.7.8安装相关

如果要运行它进行检查,请执行以下操作:

python3.7
exit()

安装供应商:

sudo apt install venv

要创建venv(可能在您的repo中,如果是,请将.venv添加到.gitignore中):

python3.7 -m venv .venv

要激活您的venv:

source .venv/bin/activate

检查您的版本:

python --version

您应该安装Python版本。如果你有,那么基本上,

利用virtualenv,

virtualenv --python=python3.8 env/place/you/want/to/save/to

与venv

python3.8 -m venv env/place/you/want/to/save/to

以上示例适用于python3.8,您可以将其更改为具有不同版本的虚拟环境,前提是这些虚拟环境已安装在您的计算机中。

从Python 3开始,文档建议使用以下方法创建虚拟环境:

python3 -m venv "my_env_name"

请注意,venv不允许使用其他版本的Python创建虚拟环境。为此,请安装并使用virtualenv包。


过时的信息

pyvenv脚本可用于创建虚拟环境:

pyvenv "/path/to/new/virtual/environment"

自Python 3.6以来已弃用。