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


当前回答

这对我有用

sudo apt-get install python3-minimal

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

其他回答

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

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

python3 -m venv "my_env_name"

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


过时的信息

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

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

自Python 3.6以来已弃用。

在mac上,我使用pyenv和virtualnvwrapper。我必须创造一个新的虚拟世界。你需要自制程序,如果你在mac上,我会假设你已经安装了,但只是为了好玩:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


brew install pyenv
pyenv install 2.7.10
pyenv global 2.7.10
export PATH=/Users/{USERNAME}/.pyenv/versions/2.7.10/bin:$PATH
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python  {virtual_env_name}

我还冻结了我的需求,这样我就可以简单地在新的virtualenv中重新安装:

pip install -r requirements.txt

正如在多个答案中已经提到的,使用virtualenv是一个干净的解决方案。然而,每个人都应该注意的一个小陷阱是,如果在bash_aliases中设置了python的别名,例如:

python=python3.6

该别名也将在虚拟环境中使用。因此,在这个场景中,在虚拟env中运行python-V将始终输出3.6,而不管使用什么解释器来创建环境:

virtualenv venv --python=pythonX.X

这两个命令应该可以正常工作。

virtualenv-p python2 myenv(用于python2)

virtualenv-p python3 myenv(用于python2)