创建一个Python 3虚拟环境


13

python3-virtualenv使用官方Ubuntu软件包安装在Lubuntu 15.1上apt-get install python3-virtualenv。在官方文件表明,一个简单的virtualenv .在我的项目目录,应该足以创建VENV。这什么都不做,因为which virtualenv什么都不做。(没有从which python-virtualenvwhich python3-virtualenv也)。

软件包信息一经安装,即表示已安装/usr/lib/python3/dist-packages/virtualenv.py,因此我在python3下调用了此信息。它给了我这个:

$ python3 /usr/lib/python3/dist-packages/virtualenv.py .
Running virtualenv with interpreter /usr/bin/python2
New python executable in ./bin/python2
Also creating executable in ./bin/python
Installing setuptools, pip...done.

是的,当我看时,。/ bin中的所有内容都是python2。ubuntu的python3-virtualenv是python2的虚拟软件包吗?

官方的python文档说使用另一个包:python3-venv。当我pyvenv ../bin目录中使用python3 时,这似乎可行。

如何成功创建Python 3 virtualenv?


在Debian中更改此行为的补丁。salsa.debian.org/python-team/modules/python-virtualenv/blob / ...我希望我能理解添加此补丁时使用的思考过程。
Winny

Answers:


24

venv是创建虚拟环境的便捷脚本,但不能完全替代所有virtualenv功能。不过,在大多数情况下使用任一方法都可以。 virtualenv还不是过时的。

python3 -m venv安装后可以正常工作,python3-venv因为Debian从基本的Python软件包中删除了一些脚本。 出于某种原因python3-virtualenv不会将virtualenv脚本放在您的路径上,但是python-virtualenv可以,并且对于任何一个版本都可以正常工作。

virtualenv安装哪个版本并不重要,它可以通过传递任何已安装的版本-p pythonX(其中X为版本)来产生env 。 venv,更简单,只会创建其运行版本的env,并且仅从3.3开始可用。

$ sudo apt-get install python-virtualenv
$ virtualenv -p python3 env
$ source ./env/bin/activate
$ sudo apt-get install python3-venv
$ python3 -m venv env
$ source ./env/bin/activate
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.