ensurepip отключен в Debian/Ubuntu для системного Python

Я пытаюсь сделать виртуальную среду для разработки моего приложения Django. Коммандос, которого я использую:

vagrant@vagrant:/var/www/djangogirls$ python3 -m venv myvenv
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: ['/var/www/djangogirls/myvenv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']


vagrant@vagrant:/var/www/djangogirls$ sudo apt-get install python3-venv
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python3-venv is already the newest version (3.5.1-3).
The following packages were automatically installed and are no longer required:
  javascript-common libjs-jquery libjs-sphinxdoc libjs-underscore python-pbr python-pkg-resources
  python-six python-stevedore python3-virtualenv virtualenv virtualenv-clone
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 108 not upgraded.

vagrant@vagrant:/var/www/djangogirls$ python3 -m ensurepip
ensurepip is disabled in Debian/Ubuntu for the system python.

Python modules for the system python are usually handled by dpkg and apt-get.

    apt-get install python-<module name>

Install the python-pip package to use pip itself.  Using pip together
with the system python might have unexpected results for any system installed
module, so use it on your own risk, or make sure to only use it in virtual
environments.


vagrant@vagrant:/var/www/djangogirls$ rm -r myvenv/ 

vagrant@vagrant:/var/www/djangogirls$ python3 -m venv myvenv
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: ['/var/www/djangogirls/myvenv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

Как Вы видите, я пытаюсь сделать myvenv, который не может быть создан из-за пропавших без вести python3-venv. Я уже установил это, но гарантировать зернышко отсутствует. После поиска кажется, что система (Ubuntu 16.04) препятствует использованию пакета. Кто-то мог помочь мне работать вокруг этой проблемы?

8
задан 3 February 2017 в 07:36

3 ответа

Здесь есть связанный отчет об ошибке здесь

surepip компонент отсутствует / отключен в Ubuntu

Способ обойти это - создать Виртуальная среда без пипа

python3 -m venv myvenv --without-pip

Обеспечение доступа компонента и создание новой среды в этом случае.

Однако пропущенный пункт в виртуальной среде может быть проблемой.

Одним из решений является установка пакета pip3 системы и использование модуля pip системы внутри вашей виртуальной среды.

Виртуальная среда должна иметь доступ к системным пакетам сайтов, чтобы иметь возможность использовать системный модуль pip.

  1. установить пакет Python3 системы Python3

    sudo apt-get install python3-pip
    
  2. создать виртуальную среду без пипа и с доступом к системным пакетам сайта

    python3 -m venv myvenv --without-pip --system-site-packages
    

Вы можете использовать системный модуль pip для установки пакетов Python в вашу виртуальную среду.

Вместо pip install Django вы должны использовать явное

myvenv/bin/python3 -m pip install Django

или вы можете сначала активировать свою виртуальную среду

source myvenv/bin/activate
python3 -m pip install Django

python3 -m pip --version может пригодиться, чтобы увидеть, какая среда Python используется.

На основании решения, найденного здесь , но не используйте предложенное python get-pip.py в виртуальной среде, потому что оно украдет команду системы pip

7
ответ дан 23 November 2019 в 05:45

Анаконда involucred

При использовании Anaconda или Conda, это решение может помочь Вам:

Conda управляет самим Python как пакетом, так, чтобы Python обновления conda был возможен, по контрасту для побеждения, который только управляет пакетами Python. Conda доступен в Anaconda и Miniconda (легкая к установке загрузка только с Python и conda).

очень тревожащий для меня, но хорошо, руки на клавиатуру в окне терминала:

conda update python

Посмотрите на это изображение результат, возможно, эта справка Вы, хорошего дня!

0
ответ дан 23 November 2019 в 05:45

У меня была та же проблема, и установка python3-venv в соответствии с инструкциями не решила проблему недоступности ensurepip! Однако, поскольку моя версия python3 3.7.5 установкаpython3.7-venv` вместо этого решила мою проблему.

3
ответ дан 30 June 2020 в 08:23

Другие вопросы по тегам:

Похожие вопросы: