Pip не працює: ImportError: Немає модуля з назвою "pip._internal"


62

Запуск 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

2
У мене є аналогічна проблема після оновлення з pip 9.0.2 до pip-10.0.0. Ubuntu 16.04LTS тут.
Дейв

2
Вам не слід оновити до pip 10 на Ubuntu, оскільки версія системи, встановлена ​​через apt, модифікована таким чином, що не сумісна з pip 10. Див. Github.com/pypa/pip/isissue/5221 @Dave
Byte Commander

macOS 10.13.4, та сама проблема після оновлення до піп 10
Бенджамін R

1
Тимчасове вирішення:python3 -m pip install --user <package>
Бенджамін R

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>(для встановлення на рівні користувача) буде працювати правильно.

Ніколи і ніколи не повинно бути причин, коли вам потрібно запускати піп у підвищеному режимі.

(Примітка. Для Python 2.7 просто замініть pythonна python3і pipна pip3)

Була така ж проблема і в macOS, це поширена проблема на всіх платформах.


1
добре працює і для малини
gtatr

1
ви, пане, герой. була ця проблема на солюсі, і це спрацьовувало як шарм.
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 і перезавантажитися.
Бенджамін Р

1
@endolith Привіт, це залежить від вашої ОС (і дистрибутива, якщо Linux). Дайте мені знати, і я спробую направити вас у правильному напрямку. ps Ми всі були у вашому становищі більше разів, ніж більшість із нас любить визнати :)
Бенджамін R


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, це може допомогти.


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волі-невілля (знищував мою ОС кілька разів!)
Бенджамін R,


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.


це те, що ОП вже робиться.
Нік О'Лай

0

Версія pip зараз становить 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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.