簡體   English   中英

創建venv時python3.6失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM