协慌网

登录 贡献 社区

使用与 virtualenv 不同的 Python 版本

我有一个当前使用 python 2.5.4 运行的 Debian 系统。我得到了 virtualenv 正确安装,一切正常。我是否有可能使用不同版本的 Python 的 virtualenv?

我编译了 Python 2.6.2,并希望将它与一些 virtualenv 一起使用。是否足以覆盖二进制文件?或者我是否必须更改库中的某些内容?

答案

在创建 virtualenv 实例时,只需使用--python (或 short -p )选项来指定要使用的 Python 可执行文件,例如:

virtualenv --python=/usr/bin/python2.6 <path/to/new/virtualenv/>

注意对于Python 3.3或更高版本,请参阅下面的 Aelfinn 的答案

更新:对于 Python3.6,不推荐使用下面的pyvenv脚本。相反, Python Docs 建议使用以下命令创建虚拟环境:

python3 -m venv <myenvname>

对于 python3(3.3+),使用上面的方法或脚本 pyvenv命令。

pyvenv /path/to/new/virtual/environment

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

这些是您在共享托管环境中的步骤,需要从源安装和编译 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

当然,这适用于您希望复制您工作和部署的确切环境的任何情况。