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


当前回答

我将此答案用于Windows

https://stackoverflow.com/a/22793687/15435022

py -3.4 -m venv c:\path\to\wherever\you\want\it

其他回答

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

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

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

2020年底:

使用virtualenv最无缝的体验(附加的好处:任何可能的python版本)是使用pyenv及其(捆绑的)pyenv virtualenv插件(cfhttps://realpython.com/intro-to-pyenv/#virtual-环境和pyenv)

用法:pyenv virtualenv<python_version><environment_name>

安装:

首先检查您是否具备所有先决条件(取决于您的操作系统):https://github.com/pyenv/pyenv/wiki/Common-build-problems#prerequisites卷曲https://pyenv.run|巴什执行$SHELL

查阅https://github.com/pyenv/pyenv-installer

也就是说,现在代替使用virtualenv(和pip)的最佳选择是Poetry(以及上面指出的pyenv,以处理不同的python版本)。

另一个选项是Pipenv,因为它直接受到PyPA(pip和PyPI背后的组织)的支持,并且从5月底开始重新发布(在那之前,从2018年底就没有发布…)

这个问题的答案不应该那么复杂。。。

TL、DR:

在系统上安装您喜欢的python版本,并使用:

/c/path/to/any/version/of/python -m venv my_venv

============================================

我使用venv安装虚拟环境

python -m venv <where/to/and/name_of_venv>

如果您尝试使用哪一条python,当您说“python”时,就会看到您所指的是哪一条python。例如,对我来说,它是:

which python

结果:/c/程序文件/Python36/python

所以,现在你有答案了!您可以在系统上安装任何版本的python,同时安装多个版本。例如,我在以下目录中安装了Python3.7:“C:\Program Files\Python37”。因此,现在我不再使用“python”,而是通过/c/Program\Files\Python37/python指定哪个python:

 /c/Program\ Files/Python37/python -m venv my_venv

(别忘了避开小路上的空隙)

就是这样!

在窗口上:

py -3.4x32 -m venv venv34

or

py -2.6.2 -m venv venv26

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

是的,上面的答案是正确的,在基于Unix的系统(如Linux和MAC OS X)上运行良好。

我尝试使用以下命令为Python2&Python3创建virtualenv。

这里我分别使用了venv2和venv3作为Python2和Python3的名称。

蟒蛇2»

MacBook-Pro-2:~ admin$ virtualenv venv2 --python=`which python2`
Running virtualenv with interpreter /usr/local/bin/python2
New python executable in /Users/admin/venv2/bin/python
Installing setuptools, pip, wheel...done.
MacBook-Pro-2:~ admin$ 
MacBook-Pro-2:~ admin$ ls venv2/bin/
activate        easy_install        pip2.7          python2.7
activate.csh        easy_install-2.7    python          wheel
activate.fish       pip         python-config
activate_this.py    pip2            python2
MacBook-Pro-2:~ admin$ 

蟒蛇3»

MacBook-Pro-2:~ admin$ virtualenv venv3 --python=`which python3`
Running virtualenv with interpreter /usr/local/bin/python3
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.6'
New python executable in /Users/admin/venv3/bin/python3
Also creating executable in /Users/admin/venv3/bin/python
Installing setuptools, pip, wheel...done.
MacBook-Pro-2:~ admin$ 
MacBook-Pro-2:~ admin$ ls venv3/bin/
activate        easy_install        pip3.6          python3.6
activate.csh        easy_install-3.6    python          wheel
activate.fish       pip         python-config
activate_this.py    pip3            python3
MacBook-Pro-2:~ admin$ 

检查Python安装位置

MacBook-Pro-2:~ admin$ which python2
/usr/local/bin/python2
MacBook-Pro-2:~ admin$ 
MacBook-Pro-2:~ admin$ which python3
/usr/local/bin/python3
MacBook-Pro-2:~ admin$