我试图使用Python3.6设置一个venv,但是收到了here等其他帖子中已经提到过的错误。不幸的是,提出的解决方案都没有奏效。
我已经安装了必要的软件包
$ sudo apt install python3.6-venv
...
$ dpkg -l | grep "python3.6-venv"
ii python3.6-venv 3.6.5-5~16.04.york0 amd64 Interactive high-level object-oriented language (pyvenv binary, version 3.6)
我还安装了python3-venv
(适用于python 3.5)。
当我现在尝试设置我收到的venv
python3.6 -m venv test
The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt-get install python3-venv
You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.
Failing command: ['/home/User/Python/test/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']
答案 0 :(得分:3)
在Debian / Ubuntu系统上,python -m venv
已被禁用,因为virtualenv工具捆绑依赖项的方式违反了DFSG
和Debian政策禁止包含非源代码构建的代码
在Debian中。
相反,在这样的系统上,你应该总是使用pyvenv*
命令;每个Python版本都有一个pyvenv-3.y
版本的脚本。在您的情况下,请使用
pyvenv-3.6 test
然后运行venv
,以便以符合Debian策略的方式安装所需的包。
另请参阅随/usr/share/doc/pyenv-3.6/python3.6-venv
包安装的pyvenv-3.6
文件。
如果这仍然产生警告,请向Ubuntu软件包维护者提交一张票;弃用警告是Python 3.6中的新功能,Ubuntu应该在其打包中禁用该警告,或直接在ensurepip
用例中修复python -m venv
问题。如果pyvenv-3.6
完全被破坏(没有产生有效的虚拟版),那么你一定要提交一张票。请参阅bug tracker for the python-3.6 source package。
答案 1 :(得分:0)
Ubuntu 18.10,Python 3.7.3
sudo apt install python3.7-venv
python -m venv ./venv
这为我解决了问题。 .venv现在包含许多文件,例如.venv / bin / activate