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


当前回答

假设我想使用python 3.8,而我使用的是MacOS。

brew install python@3.8

然后

python3.8 -m venv venv

其他回答

是的,您只需要安装另一版本的python,并在命令中定义另一版本python的位置,如:

virtualenv/home/copayroll/Documents/env-p/usr/bin/python3

您可以使用所需的python版本调用virtualenv。例如:

python3 -m virtualenv venv

或者直接指向虚拟路径。例如,对于窗口:

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版本

在窗口上:

py -3.4x32 -m venv venv34

or

py -2.6.2 -m venv venv26

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

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

python=python3.6

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

virtualenv venv --python=pythonX.X

这适用于我在Windows 10中的使用,在那里我有Python 3.7,并希望降级到Python 3.6.6中的项目:

我使用“venv”创建了一个名为“venv“的新环境,我从https://www.python.org/downloads/windows/ ; install“下载Windows x86-64可执行安装程序-”;然后在要创建环境的目录中使用以下命令行

>C: \用户\。。。\Python\Python36\Python.exe-m venv venv

最后,我使用命令行激活了环境:

>venv\Scripts\activate.bat

并通过调用以下命令检查python版本:

>python--版本Python 3.6.6