Обновление пипа не работает
Я пытаюсь обновить 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
Обратите внимание, что я обновляю оба pip
s для 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)