我python3-virtualenv
使用官方的 Ubuntu 软件包在 Lubuntu 15.1 上安装apt-get install python3-virtualenv
。官方文档表示virtualenv .
我的项目目录中的简单内容应该足以创建 venv。这什么都不做,因为which virtualenv
什么都不做。(没有来自which python-virtualenv
和which 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 .
中使用 python3 内容时,这似乎有效。./bin
如何成功创建 Python 3 虚拟环境?
答案1
venv
是一个创建虚拟环境的便捷脚本,但并不能完全替代所有功能virtualenv
。不过,在大多数情况下,使用其中任何一种都可以。 virtualenv
并不过时。
python3 -m venv
安装后可以工作,python3-venv
因为 Debian 从基础 Python 包中删除了一些脚本。 由于某种原因,python3-virtualenv
没有将virtualenv
脚本放在您的路径上,但是python-virtualenv
确实如此,并且对于任何一个版本都可以正常工作。
virtualenv
安装哪个版本并不重要,它可以通过传递-p pythonX
(其中 X 是版本)为任何已安装的版本生成环境。 venv
更简单,只会创建它运行的版本的环境,并且仅在 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