我该如何为指定版本的Python创建虚拟环境?
我该如何为指定版本的Python创建虚拟环境?
这两个命令应该可以正常工作。
virtualenv -p python2 myenv
(用于 Python2)
virtualenv -p python3 myenv
(用于 Python3)
你可以使用想要的Python版本调用 virtualenv
。例如:
python3 -m virtualenv venv
或者直接指向您的虚拟环境路径。例如,对于Windows:
c:\Python34\Scripts\virtualenv.exe venv
并通过运行:
venv/bin/python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
您可以查看虚拟环境中安装的Python版本
pip3 install virtualenv
。 - Nima Soroush-p
方法很有效,但您必须记得每次都使用它。如果您的目标是通常切换到较新版本的Python,则这很麻烦,并且可能还会导致错误。
您的另一个选择是设置一个环境变量,该变量与-p
执行相同的操作。通过您的~/.bashrc
文件或任何管理登录会话环境变量的位置进行设置:
export VIRTUALENV_PYTHON=/path/to/desired/version
然后 virtualenv
会在命令行中没有指定 -p
的情况下使用它。
export VIRTUALENVWRAPPER_PYTHON=/path/to/desired/version
没有生效,但是这个解决方案却生效了? - YPCrumblevirtualenvwrapper
在运行时使用的Python版本,与安装无关。 - Chris Johnson在 Mac 上,我使用 pyenv 和 virtualenvwrapper。我需要创建一个新的虚拟环境。你需要 Homebrew,如果你在 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}
我也先冻结了我的需求,这样我就可以在新的虚拟环境中轻松地重新安装:
pip install -r requirements.txt
mkvirtualenv -p ~/.pyenv/versions/2.7.10/bin/python {virtual_env_name}
,不是 version,而是 versions。如果 Stack Overflow 允许进行简短的编辑,我会修正它。 - Martin Burch正如多个答案中已经提到的,使用 virtualenv 是一个干净的解决方案。但是每个人都应该意识到的一个小陷阱是,如果在 bash_aliases 中设置了 Python 的别名,例如:
python=python3.6
这个别名也将在虚拟环境内使用。因此,在这种情况下,在虚拟环境中运行 python -V
命令将始终输出 3.6
,无论用于创建环境的解释器是什么:
virtualenv venv --python=pythonX.X
更加简单的方法,使用命令替换来为您找到python2:
virtualenv -p $(which python2) <path/to/new/virtualenv/>
或者在使用virtualenvwrapper时:
mkvirtualenv -p $(which python2) <env_name>
对于Mac (High Sierra),需要在python3上安装virtualenv,并为python2创建一个虚拟环境:
$ python3 -m pip install virtualenv
$ python3 -m virtualenv --python=python2 vp27
$ source vp27/bin/activate
(vp27)$ python --version
Python 2.7.14
python3 -m pip install virtualenv
- Zihao Zhao对于Windows来说,这些方法似乎有点过于复杂。如果你在运行Python 3.3或更高版本的Windows上,可以使用Python启动器py
更容易地完成此操作。只需安装不同的Python版本,然后运行以下命令:
py -[my version] -m venv env
这将在当前目录中创建一个名为env
的虚拟环境,使用Python [我的版本]
。例如:
py -3.7 -m venv env
./env/Scripts/activate
这将创建一个名为env
的虚拟环境,使用Python3.7并激活它。不需要路径或其他复杂的东西。
py -3.7 -m venv env
,缺少了 -m
。 - sinorocpy -3.4 -m venv c:\path\to\wherever\you\want\it
在Linux Ubuntu 21.04上(当前使用Python 3.9.5),我需要获得Python 3.7.8的virtualenv。以下是获取工作所需的全部步骤:
找到您想要的Python版本源,例如3.7.8在此处:https://www.python.org/downloads/release/python-378/
下载Gzipped源tarball
使用命令tar zxvf Python-3.7.8.tgz
解压缩它(如果与3.7.8不同,则根据需要更改版本号)
将解压缩的文件夹复制到/usr/bin中:sudo cp -r Python-3.7.8 /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()
安装 venv:
sudo apt install venv
python3.7 -m venv .venv
激活你的虚拟环境:
source .venv/bin/activate
检查您的版本:
python --version