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


当前回答

注意:对于Python 3.3+,请参阅下面Aelfin的答案。


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

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

其他回答

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

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

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

就是这样!

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年底就没有发布…)

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

python3 -m venv "my_env_name"

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


过时的信息

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

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

自Python 3.6以来已弃用。

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

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

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

UBUNTU 19.04/全局Python 3.7。

这对我很有用,使用推荐的venv为python3开发启用了Python3.8环境。

安装3.8和3.8 venv模块:$sudo apt install python3.8 python3.8-venv加上您需要的任何其他模块

使用您想要的python版本创建虚拟环境

$ /usr/bin/python3.8 -m venv python38-env

切换到虚拟环境

$ source python38-env/bin/activate

python -V = python 3.8