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


当前回答

这些对于Windows来说似乎有点过于复杂。如果您在运行python 3.3或更高版本的Windows上,可以使用python启动器py更轻松地执行此操作。只需安装不同的python版本,然后运行:

py -[my version] -m venv env

这将使用python[我的版本]在当前目录中创建一个名为env的虚拟环境。例如:

py -3.7 -m venv env
./env/Scripts/activate

这将使用python3.7创建一个名为env的虚拟环境并激活它。不需要路径或其他复杂的东西。

其他回答

当您在共享托管环境中,需要从源代码安装和编译Python,然后从Python版本创建venv时,可以遵循以下步骤。对于Python 2.7.9。你会按照以下思路做一些事情:

mkdir ~/src
wget http://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -zxvf Python-2.7.9.tgz
cd Python-2.7.9
mkdir ~/.localpython
./configure --prefix=$HOME/.localpython
make
make install

虚拟环境

cd ~/src
wget https://pypi.python.org/packages/5c/79/5dae7494b9f5ed061cff9a8ab8d6e1f02db352f3facf907d9eb614fb80e9/virtualenv-15.0.2.tar.gz#md5=0ed59863994daf1292827ffdbba80a63
tar -zxvf virtualenv-15.0.2.tar.gz
cd virtualenv-15.0.2/
~/.localpython/bin/python setup.py install
virtualenv ve -p $HOME/.localpython/bin/python2.7
source ve/bin/activate   

当然,这可以适用于任何您想要复制您工作和部署的环境的情况。

在我的Windows下,这是有效的:

virtualenv --python=c:\Python25\python.exe envname

没有python.exe,我得到了Windows错误:[错误5]访问被拒绝我用virtualenv1.6.1安装了Python2.7.1,我想要Python2.5。

在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

在窗口上:

py -3.4x32 -m venv venv34

or

py -2.6.2 -m venv venv26

这使用py启动器,它将为您找到正确的python可执行文件(假设您已经安装了它)。

这对我有用

sudo apt-get install python3-minimal

virtualenv --no-site-packages --distribute -p /usr/bin/python3 ~/.virtualenvs/py3