[英]python3.6 fails when creating venv
我正在嘗試使用Python3.6設置一個venv,但收到的錯誤已在其他各種帖子中提到過,例如此處 。 不幸的是,提出的解決方案都沒有奏效。
我已經安裝了必要的包
$ 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']
在Debian / Ubuntu系統上, python -m venv
已被禁用,因為virtualenv工具捆綁依賴項的方式違反了DFSG和Debian策略,不包括不是從Debian中可用的源構建的代碼。
相反,在這樣的系統上,你應該總是使用pyvenv*
命令; 有一個特定於每個Python版本的pyvenv-3.y
版本化腳本。 在你的情況下,使用
pyvenv-3.6 test
然后以這種方式運行venv
,以便以符合Debian策略的方式安裝所需的包。
另請參閱隨pyvenv-3.6
軟件包一起安裝的/usr/share/doc/pyenv-3.6/python3.6-venv
文件。
如果這仍然產生警告,請向Ubuntu軟件包維護者提交一張票; 棄用警告是Python 3.6中的新功能,Ubuntu應該在其包裝中禁用該警告,或者直接在python -m venv
用例中修復ensurepip
問題。 如果pyvenv-3.6
被徹底打破(不會產生有效的virtualenv),那么你肯定應該提交一張票。 查看python-3.6源代碼包的bug跟蹤器 。
Ubuntu 18.10,Python 3.7.3
sudo apt install python3.7-venv
python -m venv ./venv
這解決了我的問題。 .venv現在包含許多文件,例如.venv / bin / activate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.