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


当前回答

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

其他回答

这是virtualenv的错误。只是升级你的pip应该是解决方案。

pip安装—升级virtualenv

有一种更简单的方法,

virtualenv venv --python=python2.7

感谢您的评论,只有在系统级安装了python2.7(例如/usr/bin/python2.7)时,这才有效。

否则,如果你正在使用自制程序,你可以使用路径来给你想要的。

virtualenv venv --python=/usr/local/bin/python

您可以找到安装python(Linux)或py-0p(Windows)的路径

这也适用于python 3。

which python3
>> /usr/local/bin/python3
virtualenv venv --python=/usr/local/bin/python3

最终冷凝至:

virtualenv venv -p `which python`
virtualenv venv -p `which python3`

简单:

Linux系统

virtualenv venv --python=/usr/bin/python3.9

窗户

virtualenv venv --python=C:\Users\username\AppData\Local\Programs\Python\Python\python.exe

这对我有用

sudo apt-get install python3-minimal

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

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

python=python3.6

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

virtualenv venv --python=pythonX.X