Pip: нет модуля с именем _internal

У меня проблема, когда я пытаюсь каким-либо образом использовать pip. Я использую Ubuntu 16.04.4

Я должен сказать, что я уже использовал его, и у меня никогда не было никаких проблем, но начиная с сегодняшнего дня, когда я использую любую команду, я всегда получаю ту же ошибку (например, с использованием pip --upgrade).

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

Я пробовал делать sudo apt-get remove python-pip, а затем sudo apt-get install python-pip, но ничего не изменилось.

Убедитесь, что /usr/local/lib/pythonX.X/site-packages предшествует /usr/lib/pythonX.X/site-packages в вашем $PATH.

hoefling 20.04.2018 14:19

Здесь та же проблема. Вы нашли решение?

WayBehind 20.04.2018 18:49

@WayBehind Я нашел решение. Заметил, что с python -m pip все работает нормально. Кроме того, я удалил файл /usr/local/bin/pip, теперь вызывая pip -V return pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7). Вроде все работает как положено.

Grimdrem 20.04.2018 20:15

У меня все еще та же проблема, я использую pip в среде conda, python 2.7, и я использую pip install ipdb. Есть идеи по этому поводу?

Garvita Tiwari 07.09.2018 10:37

Выполнил шаги плюс флаг -H: sudo -H python3.7 get-pip.py --force-reinstall

Andre Leon Rangel 27.05.2019 01:50
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
116
5
146 163
26

Ответы 26

Ответ от AskUbuntu работает.

Для pip2.7 вы можете сначала curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py, затем python2.7 get-pip.py --force-reinstall, чтобы переустановить pip.

Задача решена. Также работает для python3.

У меня это не работает, я пробовал это несколько раз

Cleve Green 02.05.2018 16:08

Я исправил это, переустановив python, что было абсолютной болью теперь, когда у меня нет ни одного из моих прошлых модулей.

Cleve Green 22.05.2018 17:32

Просто укушенный этой проблемой, похоже, это что-то вроде кластера, который apt-get install python-pip не работает с 16.04.4, и вы должны прибегать к установщикам двоичных BLOB-объектов?

Joe 01.06.2018 04:27

чтобы он заработал, мне пришлось удалить все мои сторона системы pip: apt-get remove python-pip-whl

Jan 17.08.2018 05:28

"В доступе отказано". Вероятно, вам нужно использовать sudo. Большинство дистрибутивов не позволяют пользователям vanilla устанавливать систему pip.

Cerin 04.03.2019 20:00

Вы используете Python 2 или Python 3? Следующие команды могут быть разными!

  1. запустите python3 -m pip --version, чтобы проверить, установлен ли у вас pip.
  2. если да, запустите python3 -m pip install --upgrade pip.
  3. если нет, запустите sudo apt-get install python3-pip и сделайте это снова.

отличный ответ!

supersan 12.12.2020 06:23

Работал как шарм!

saulspatz 13.02.2021 16:54

Первые два шага решили эту проблему на моей macOS с чипом M1 ...

Nirmal 17.04.2021 06:55

Я видел эту проблему, когда PYTHONPATH был настроен на включение встроенного каталога site-packages. Поскольку Python автоматически смотрит туда, в нем нет необходимости, и его можно удалить.

Это решило проблему для меня, спасибо. Я просто где-то сохранил $ PYTHONPATH, а затем запустил export PYTHONPATH = "", чтобы pip заработал.

ibowman 10.05.2018 20:34

но при попытке echo $ PYTHONPATH пакеты сайтов не были включены.

alyssaeliyah 26.05.2018 18:34

Я столкнулся с этим при создании виртуальной среды в системе, которая использует модули для управления пакетами программного обеспечения. Когда я загрузился, вы говорите «загрузка модуля python / 3.5.2», и он добавляет ваш PYTHONPATH. Затем, когда я активировал свой виртуальный env, он никогда не отключал мой PYTHONPATH, что означало, что он нашел системный уровень pip, а не тот, который находится в моем virtualenv.

irritable_phd_syndrome 22.06.2018 21:08

Следующее решение решило проблему на моей машине для python2.7 "$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py" а потом "$ sudo python2.7 get-pip.py --force-переустановить"

Это работает для меня, но вам нужно изменить его на версию Python, которую вы используете. sudo python3 get-pip.py --force-переустановить. Отлично.

alyssaeliyah 26.05.2018 18:36

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

sudo apt remove python pip

Как бы то ни было, это похоже на решение для Debian-подобного дистрибутива (например, Ubuntu 16.04), где пакет python-pip был установлен на уровне дистрибутива, а get-pip.py использовался для пользовательской версии pip, которая также была в $PATH. Я sudo apt-get removed пакет python-pip (2.7) и использовал вместо него тот, который находится в моем ~ / .local / bin. Больше сообщений об ошибке нет.

TheDudeAbides 20.12.2018 22:34

Это сделало это для меня:

python -m pip install --upgrade pip

Среда: OSX && Python, установленный через заваривать

Спасибо, это было решение для меня, использующего python3.

Furbeenator 31.08.2018 18:50

это не сработало для меня. То, что сделал @Grimdrem, в итоге и сделал я. У меня был (в прошлом) установленный pip для всех (используя sudo или что-то в этом роде) ... и мое обновление было с --user, поэтому другая установка все еще висела ... удаление его из / usr / local / bin и из моего основная папка пакета python (не --user's) сделала свое дело.

user1269942 29.10.2018 21:58

Как ни странно, здесь это тоже исправлено. Я должен был обновить #searx до последней фиксации.

Roland 01.12.2019 15:33

Загляните в это в Ubuntu на WSL. Я также использую pyenv, но каким-то образом заглушил системный питон, который использует vim. Это поместило вещи туда, где они должны были быть. И теперь taskwiki снова работает. Ух!

Daniel Black 09.04.2020 20:04

Эта проблема может быть связана с тем, что обычный пользователь не имеет права доступа к файлу py пакетов. 1. Пользователь root может запустить 'pip list'
2. другой обычный пользователь не может запустить 'pip list'

[~]$ pip list
Traceback (most recent call last):
  File "/usr/bin/pip", line 7, in <module>
from pip._internal import main
ImportError: No module named pip._internal

Проверьте права доступа к файлу pip py.

[root@]# ll /usr/lib/python2.7/site-packages/pip/  
合計 24  
-rw-------  1 root root   24  6月  7 16:57 __init__.py  
-rw-------  1 root root  163  6月  7 16:57 __init__.pyc  
-rw-------  1 root root  629  6月  7 16:57 __main__.py  
-rw-------  1 root root  510  6月  7 16:57 __main__.pyc  
drwx------  8 root root 4096  6月  7 16:57 _internal  
drwx------ 18 root root 4096  6月  7 16:57 _vendor  

Решение: войдите в систему и запустите root

chmod -R 755 /usr/lib/python2.7 

исправить эту проблему.

Наконец, логическое объяснение того, в чем проблема на самом деле. Повторная установка может решить проблему, но это настоящая причина, по которой она вообще не работает.

Maxime Viargues 25.02.2020 00:42

Это решение работает для меня:

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

или используйте судо для повышенных разрешений (sudo python3 get-pip.py --force-reinstall).

Конечно, вы также можете использовать python вместо python3;)

Источник

У меня ничего не работало, а только одно: Я использовал sudo перед командой, и она работает нормально.

Мой случай был более странным, потому что «sudo» по-прежнему выдавал мне ту же ошибку. Мне пришлось переключиться на root (sudo su на ubuntu), чтобы иметь возможность делать список pip3.5 и установку pip3.5: |

jmng 24.07.2018 20:00

В файле "/ usr / local / bin / pip" менятьfrom pip._internal import main - from pip import main

Обратитесь к этому список проблем

sudo easy_install pip

у меня работает под Mac OS

Для python3 можно попробовать sudo easy_install-3.x pip в зависимости от версии python 3.x. Или python3 -m pip install --user --upgrade pip

Это старый Python2. По крайней мере, на Python3 Ubuntu вы также должны запустить sudo easy_install-3.4 pip или аналогичный.

NoBugs 04.02.2019 05:38

Это устранило проблему для меня, когда мне нужно обновить pip 20.2.3 до pip 21.0 в MacOS. Спасибо!

Alex L 22.09.2020 16:40

У меня такая же проблема в моей виртуальной среде после обновления установки python с 3.6 до 3.7, но только на вентиляционном канале глобально pip работает нормально, для ее решения я деактивирую и удаляю свою виртуальную среду после повторного воссоздания, и теперь все в порядке, на venv:

deactivate
rm -rvf venv 

и после воссоздать виртуальную среду. Я использую Mac OS 10.11 и Python 3

Я только что столкнулся с той же проблемой, и в моем случае оказалось, что это конфликт между установкой python в моем virtualenv и общесайтовым python (Ubuntu). Что решает это для меня, так это запустить pip таким образом, чтобы принудительно использовать правильную установку python (в моем vortualenv):

python3 -m pip install PACKAGE

вместо

pip3 install PACKAGE

Я понял это, когда попытался выполнить некоторые из приведенных здесь ответов, в которых предлагается переустановить pip, и полученный мной вывод ошибки указывал на существующий путь к библиотеке python для всего сайта, хотя я активировал свой virtualenv. Стоит попробовать перед удалением и повторной установкой.

Как упоминалось в этом ответе stackoverflow.com/a/50737296/1340995, это проблема с разрешением. Я обнаружил, что использование pip с python3 -m pip также решает эту проблему, вероятно, потому, что python имеет разрешение на выполнение, и ему не нужно, чтобы pip имел разрешение + x, поскольку он просто загружает файл, а не выполняет его.

Maxime Viargues 26.02.2020 21:09

(В окнах) не уверен, почему это происходит, но у меня была установка PYTHONPATH, чтобы указать на c: \ python27, где был установлен python. в сочетании с virtualenv это привело к упомянутой ошибке.

решено путем удаления PYTHONPATH env var вместе

мое решение: первый шаг, как и большинство других ответов:

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

во-вторых, добавьте мягкую ссылку

sudo ln -s /usr/local/bin/pip /usr/bin/pip

Я исправил эту ошибку, выполнив следующие команды:

sudo apt remove python-pip
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

Он удалит ранее установленный пип и переустановит его. Спасибо :)

У меня эта команда работает.

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py --force-переустановить --user

вы можете сначала удалить его и установить снова, все будет в порядке. для centos:

yum remove python-pip
yum install python-pip

Только для текущего пользователя:

easy_install --user pip

или же

python -m pip install --upgrade --user pip

Второй может выдать /usr/bin/python: No module named pip Даже если which pip найдет модуль с именем pip. В этом случае попробуйте easy_install

Я встретил ту же ошибку в Windows, когда попытался установить пакет через pip3:

Traceback (most recent call last):
  File "d:\anaconda\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\anaconda\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Anaconda\Scripts\pip3.6.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named 'pip._internal'

Мой питон установлен через Anaconda. Я решил эту проблему, переустановив pip через conda:

conda install pip

После этого пип возвращается в норму.

Я исправил эту проблему

sudo apt-get install python3-pip

это сработало даже для python2.7, потрясающе ...

Мое решение - добавить import pip в сценарий, связанный с командами pip/pip3.

Во-первых, откройте файл (например, /usr/local/bin/pip) в вашем любимом текстовом редакторе и в режиме sudo. Например, я использую sudo vim /usr/local/bin/pip, чтобы открыть файл сценария.

Вы получите следующий файл:

import re
import sys

from pip._internal import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

После этого вставьте инструкцию import pip непосредственно перед from pip._internal import main, и проблема будет решена.

Я попробовал следующую команду, чтобы решить проблему, и у меня она сработала:

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

Это часто происходит из-за использования pip для «обновления» установленного pip в системе и / или установки нескольких pip под пользователем. Мое решение заключалось в том, чтобы очистить несколько установленных пипсов под пользователем, переустановить репозиторий пипсов, а затем выполнить команду «pip install --user pip», как указано выше.

См .: https://github.com/pypa/pip/issues/5599 для официального полного обсуждения и исправлений проблемы.

Для полноты, я только что столкнулся с этой проблемой с "последней версией Ubuntu" ... v18.04 ... и исправил ее следующим образом:

python3 -m pip install --upgrade pip

(Обратите внимание, что было необходимо указать python3, так как это ссылается на Python 3.6.9. Команда python в той же системе ссылается на Python 2.7.17. Поскольку это, по-видимому, общесистемная установка, она обнаружила ["not sudo" ... ], но это не имело значения, потому что в любом случае это было неправильно. Я столкнулся с проблемой с pip3.)

Я получил ошибку no such option: --uprade по вашей команде - поэтому я запустил python3 -m pip install pip, и он сработал :)

Xerus 22.05.2020 12:34

Для меня

python -m pip uninstall pip

решил вопрос. Справка

работал на MacOS, спасибо! (не переустанавливайте, оказывается, это была конфликтующая установка)

Soid 22.05.2021 17:26

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