Pip не работает: ImportError: Нет модуля с именем 'pip._internal'

63

Запуск pipили pip3результаты с:

Traceback (most recent call last):
File "/home/myuser/.local/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named 'pip._internal'

У меня были проблемы с этим, и я удалил pip3, но когда я пытаюсь установить его снова, используя

sudo apt-get -y install python3-pip

он устанавливает, но затем, запустив pip или pip3, я получаю ту же ошибку.

#which pip3
/home/myuser/.local/bin/pip3
user3087079
источник
2
У меня похожая проблема после обновления с pip 9.0.2 до pip-10.0.0. Ubuntu 16.04LTS здесь.
Дейв
2
Вы не должны обновить пип 10 на Ubuntu, так как версия системы , установленные через склонный модифицирована таким образом , не совместимые ПГИ 10. См github.com/pypa/pip/issues/5221 @ Dave
Byte Commander
macOS 10.13.4, та же проблема после апгрейда до пипа 10
Бенджамин Р
1
Временное решение:python3 -m pip install --user <package>
Бенджамин Р
1
если у вас есть easy_install(приходит из python-setuptoolsпакета), вы можете сделать sudo easy_install pip(или только sudo easy_install3 pipдля python3 и т. д.)
Марек Себера

Ответы:

115

После обновления pip(или pip3, в данном случае), если происходит следующее:

$ ~ pip3 -V
Traceback (most recent call last):
  File "/usr/local/bin/pip", line 7, in <module>
    from pip._internal import main
ModuleNotFoundError: No module named 'pip._internal'

Принудительно переустановить pip:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --force-reinstall

Проверить установку:

$ ~ pip3 -V
pip 10.0.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)

Теперь pip3 install <package>и pip3 install --user <package>(для установок на уровне пользователя) будет работать правильно.

Никогда не должно быть никаких причин для запуска pip в повышенном режиме.

(примечание: для Python 2.7 просто замените pythonна python3и pipдля pip3)

У macOS была такая же проблема, это общая проблема для всех платформ.

Бенджамин Р
источник
1
прекрасно работает и для малины
gtatr
1
Вы, сэр, герой. была эта проблема на Solus, и она работала как шарм.
Cirrusio
1
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/usr/bin/pip3'
эндолит
1
@endolith Хорошо, теперь вы хотите использовать sudo rm -rf /usr/bin/pip3- сначала очистите существующий каталог, а затем установите его с нуля. Это проблема с разрешениями в этом каталоге, но в этих обстоятельствах лучше выполнить сброс, я считаю, вы всегда можете легко переустановить все пакеты, которые вы потеряли снова. Если это не сработает, запустите установку Python 3, а затем перезагрузите компьютер.
Бенджамин R
1
@endolith Привет, это зависит от того, какая у вас ОС (и дистрибутив, если Linux). Дайте мне знать, и я постараюсь указать вам правильное направление. PS Мы все были в вашем положении больше раз, чем большинство из нас хотели бы признать :)
Бенджамин R
13

Эта команда также работает, она переустанавливает pip:

sudo easy_install pip

Карлос Дутра
источник
3
Это самый простой ответ!
Серж Строобандт
3
Работал как чудо на Ubuntu
user2849789
10

Я решил это, обновив pip через Python, вот так:

python2 -m pip install --user --upgrade pip

python3 -m pip install --user --upgrade pip

Карлос Дутра
источник
1
просто и сладко
lasec0203
2

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

Таким образом, вы можете попробовать ввести его сначала sudo su, затем ввести пароль и запустить pip install, это может помочь

Yuke
источник
3
Вы никогда не должны работать pipс повышенными правами доступа. --userВместо этого используйте флаг, как в:pip3 install --user <package>
Бенджамин R
1
Однако, когда я запускаю без разрешения суперпользователя, я все равно получаю такую ​​информацию, как Traceback (последний вызов был последним): файл "/ usr / local / bin / pip3", строка 7, в <module> \\ из pip._internal import main ImportError: Нет модуля с именем «pip._internal». Не могли бы вы помочь мне выяснить, почему это всегда происходит? pip3 install --user
Юк
2
Хорошо, я выяснил, почему, если from pip._internal import mainпроизойдет ошибка, в моем решении: 1) curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py2) python3 get-pip.py --user --force-reinstall, и тогда вы сможете работать pipбез разрешения суперпользователя. Большое спасибо за ваш совет , это очень помогает!
Юк
С удовольствием! Смотри, я узнал трудный путь , чтобы быть осторожным с использованием sudoволей-неволей (разрушила мою ОС несколько раз!)
Benjamin R
Хммм askubuntu.com/a/802594/5032
эндолиты
2

Примените эти три шага:

  1. Перейти к /usr/local/binтерминалу
  2. казнить sudo gedit pip
  3. Измените from pip._internal import mainв from pip import main.
Саян Де
источник
1

Проверьте, установлен ли pip, используя

pip3 -V 

или же

pip3 --version

Если нет, используйте эту команду для установки:

sudo apt install python3-pip

Теперь вы можете использовать

python3 -m pip install packageName

устанавливать пакеты используя pip.

zacharian
источник
это то, что ОП уже донг.
Ник О'Лай
0

Пип версия сейчас 19.0.1:

which pip3
#/home/xxx/.local/bin/pip3
vim /home/xxx/.local/bin/pip3

Изменить from pip._internal import mainнаfrom pip import main

Алан Лау
источник