Обновление пипа не работает

Я пытаюсь обновить pip с версии 7.1.2 до 8.0.2, но не могу обновить его из-за некоторых ошибок. Я выполнил следующую команду.

user@ubuntu:~/devstack$ pip install --upgrade pip

Я получаю следующие ошибки трассировки:

Скриншот вывода
Скриншот вывода продолжается

Пожалуйста, дайте мне знать, как я могу заставить это работать.

1 ответ

Вы можете либо обновить pip глобально используя sudo:

sudo pip3 install --upgrade pip
sudo pip2 install --upgrade pip

Или вы можете обновить его для своего пользователя только с помощью --user опция:

pip3 install --upgrade --user pip
pip2 install --upgrade --user pip

Обратите внимание, что я обновляю оба pips для Python 2 и Python 3. Важно сначала обновить версию для Python 3, потому что последняя, ​​которую вы обновляете, позже будет доступна через pipкоторый должен быть pip2 по умолчанию.


Важное обновление:

По состоянию на pip версия 10 (я думаю), pip/pip3 команда не работает из-за изменения структуры пакета, несовместимого со сценариями запуска, предоставленными из python-pip/python3-pip пакеты от apt, См. Ошибка после обновления pip: не удается импортировать имя 'main' в Stack Overflow для получения подробной информации.

Быстрое решение: не беги pip/pip3 больше, но вместо этого всегда используйте python -m pip/python3 -m pip, который не будет использовать несовместимые в настоящее время исполняемые скрипты, предоставленные менеджером пакетов вашей системы, или не обновлять ваш pip/pip3 версия до 10 или выше.

Я тоже сталкивался с этой проблемой, когда хотел обновить систему pip pip3 с 9.0.1 до 19.2.3.

После запуска pip3 install --upgrade pip, pipверсия становится 19.2.3. Но main() был перемещен в pip._internal в последней версии, которая оставляет pip3 сломан.

Итак, в файле /usr/bin/pip3заменить line 9: from pip import main с участием from pip._internal import main. Проблема будет исправлена, работает так же для python2-pip. (Проверено в дистрибутиве Ubuntu 18.04)

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