No module named pip что делать windows

Обновлено: 07.07.2024

Многие сложности возникают у новичков из-за того, что им никто не объяснил про виртуальное окружение .

Вы можете избавить себя от головной боли прочитав статью virtualenv или venv

Установлено несколько версий Python

Итак, Вы установили python, pipe, pipenv, requests и ещё много чего, но вдруг выяснили, что на компьютере уже не одна, а несколько версий python.

Например, у Вас установлены версии 2.7 и 3.5.

Когда Вы запускаете python, то хотите, чтобы работала последняя версия, но, почему-то работает версия 2.7.

Выясним, как разобраться в этой ситуации.

Python -V и which python

Узнаем версию python которая вызывается командой python с флаго -V

Полезная команда, которую можно выполнить, чтобы узнать где расположен ваш Python - which

Третий Python тоже установлен, посмотреть версию и директорию также просто

Резюмируем: второй Python вызывается командой python а третий Python командой python3.

Ещё один способ получить эту информацию - использование команды type

Следующий способ - через sys.executable

здесь я для разнообразия настроил alias в .bashrc и теперь команда python эквивалентна python3

Python 3.8.5 (default, Jul 28 2020, 12:59:40) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information.

Если у вас уже был третий Python, например 3.8.5, а вы самостоятельно скачали и установили более позднюю версию, например 3.9.1 как в инструкции то у вас будет два разных третьих Python.

Убедиться в этом можно изучив директорию

total 21648 drwxr-xr-x 2 root root 4096 Feb 4 11:08 . drwxr-xr-x 10 root root 4096 Jul 31 2020 .. lrwxrwxrwx 1 root root 8 Feb 4 11:08 2to3 -> 2to3-3.9 -rwxr-xr-x 1 root root 101 Feb 4 11:08 2to3-3.9 -rwxr-xr-x 1 root root 238 Feb 4 11:08 easy_install-3.9 lrwxrwxrwx 1 root root 7 Feb 4 11:08 idle3 -> idle3.9 -rwxr-xr-x 1 root root 99 Feb 4 11:08 idle3.9 -rwxr-xr-x 1 root root 229 Feb 4 11:08 pip3 -rwxr-xr-x 1 root root 229 Feb 4 11:08 pip3.9 lrwxrwxrwx 1 root root 8 Feb 4 11:08 pydoc3 -> pydoc3.9 -rwxr-xr-x 1 root root 84 Feb 4 11:08 pydoc3.9 lrwxrwxrwx 1 root root 9 Feb 4 11:08 python3 -> python3.9 -rwxr-xr-x 1 root root 22127472 Feb 4 11:05 python3.9 -rwxr-xr-x 1 root root 3087 Feb 4 11:08 python3.9-config lrwxrwxrwx 1 root root 16 Feb 4 11:08 python3-config -> python3.9-config

В такой ситуации вам нужно специально указывать полную версию python3.9 для запуска программ, либо настроить alias

Если ни одна из команд pyhon и python3 не работает, бывает полезно проверить переменную PATH

Если вам нужно добавить директорию в PATH читайте статью «PATH в Linux» или статью «PATH в Windows»

Важно понимать, что если в каждой из директорий, упомянутых в PATH, будет установлено по какому-то Python выполняться будет тот, который в первой директории.

Если нужно использовать Python из какой-то определённой директории, нужно прописать её путь. В этом случае не обязательно наличие этого пути в PATH

Python 3.8.5 (default, Jul 28 2020, 12:59:40) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

>>> говорит о том, что Python в интерактивном режиме.

Выясним куда смотрит pip

Как видите, pip смотрит в директорию python2.7 поэтому всё, что мы до этого устанавливали командой pip install попало к версии 2.7 а версия 3.5 не имеет ни pipenv ни requests и, например, протестировать интерфейсы с её помощью не получится

Если вы выполнили pip -V и получили в ответ

Посмотрите что выдаст

В моей Ubuntu результат такой

Посмотреть куда pip установил пакет можно командой pip show

Проверим, куда установлен модуль requests, который пригодится нам для работы с REST API

pip show requests

alias

Если вы работаете в Linux можете прописать alias python=python3

Установить дополнительную версию Python

Если вы осознанно хотите установить определённую версию Python в добавок к уже существующей выполните

Куда устанавливаются различные версии Python

Результат на моём ПК показывает, что здесь находится версия 3.5

total 23620 drwxr-xr-x 0 root root 512 Mar 19 18:16 .
drwxr-xr-x 0 root root 512 Mar 30 2017 ..
lrwxrwxrwx 1 root root 8 Mar 19 18:16 2to3 -> 2to3-3.5
-rwxrwxrwx 1 root root 101 Mar 19 18:16 2to3-3.5
lrwxrwxrwx 1 root root 7 Mar 19 18:16 idle3 -> idle3.5
-rwxrwxrwx 1 root root 99 Mar 19 18:16 idle3.5
lrwxrwxrwx 1 root root 8 Mar 19 18:16 pydoc3 -> pydoc3.5
-rwxrwxrwx 1 root root 84 Mar 19 18:16 pydoc3.5
lrwxrwxrwx 1 root root 9 Mar 19 18:16 python3 -> python3.5
-rwxr-xr-x 2 root root 12090016 Mar 19 18:13 python3.5
lrwxrwxrwx 1 root root 17 Mar 19 18:16 python3.5-config -> python3.5m-config
-rwxr-xr-x 2 root root 12090016 Mar 19 18:13 python3.5m
-rwxr-xr-x 1 root root 3071 Mar 19 18:16 python3.5m-config
lrwxrwxrwx 1 root root 16 Mar 19 18:16 python3-config -> python3.5-config
lrwxrwxrwx 1 root root 10 Mar 19 18:16 pyvenv -> pyvenv-3.5
-rwxrwxrwx 1 root root 236 Mar 19 18:16 pyvenv-3.5

Результат на моём ПК

total 1304
drwx------ 0 andrei andrei 512 Mar 19 13:19 .
drwx------ 0 andrei andrei 512 Mar 19 13:19 ..
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 asn1crypto
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 asn1crypto-0.24.0.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 certifi
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 certifi-2018.1.18.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 cffi
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 cffi-1.11.5.dist-info
-rwxrwxrwx 1 andrei andrei 783672 Mar 19 13:19 _cffi_backend.so
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 chardet
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 chardet-3.0.4.dist-info
-rw-rw-rw- 1 andrei andrei 10826 Mar 19 13:19 clonevirtualenv.py
-rw-rw-rw- 1 andrei andrei 11094 Mar 19 13:19 clonevirtualenv.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 cryptography
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 cryptography-2.2.dist-info
-rw-rw-rw- 1 andrei andrei 126 Mar 19 13:19 easy_install.py
-rw-rw-rw- 1 andrei andrei 315 Mar 19 13:19 easy_install.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 enum
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 enum34-1.1.6.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 idna
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 idna-2.6.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 ipaddress-1.0.19.dist-info
-rw-rw-rw- 1 andrei andrei 79852 Mar 19 13:19 ipaddress.py
-rw-rw-rw- 1 andrei andrei 75765 Mar 19 13:19 ipaddress.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 .libs_cffi_backend
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 OpenSSL
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 ordereddict-1.1.dist-info
-rw-rw-rw- 1 andrei andrei 4221 Mar 19 13:19 ordereddict.py
-rw-rw-rw- 1 andrei andrei 4388 Mar 19 13:19 ordereddict.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pathlib-1.0.1.dist-info
-rw-rw-rw- 1 andrei andrei 41481 Mar 19 13:19 pathlib.py
-rw-rw-rw- 1 andrei andrei 43650 Mar 19 13:19 pathlib.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pip
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pip-9.0.2.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pipenv
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pipenv-11.8.2.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pkg_resources
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pycparser
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pycparser-2.18.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pyOpenSSL-17.5.0.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 requests
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 requests-2.18.4.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 setuptools
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 setuptools-39.0.1.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 six-1.11.0.dist-info
-rw-rw-rw- 1 andrei andrei 30888 Mar 19 13:19 six.py
-rw-rw-rw- 1 andrei andrei 30210 Mar 19 13:19 six.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 urllib3
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 urllib3-1.22.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 virtualenv-15.1.0.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 virtualenv_clone-0.3.0.dist-info
-rw-rw-rw- 1 andrei andrei 99021 Mar 19 13:19 virtualenv.py
-rw-rw-rw- 1 andrei andrei 86676 Mar 19 13:19 virtualenv.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 virtualenv_support

Существует несколько способов обойти эту проблему. Сперва рассмотрим использование команды python3.

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

sudo apt install python3-pip

Проверим, что он установился в нужную директорию

Теперь установим pipenv

pip3 install pipenv

Советую также прочитать статьи pip , sys.path

Установить пакет для определённой версии Python

Если у вас несколько версий Python и нужно установить какой-то пакет только для определённой версии, назовём её X.X, воспользуйтесь командой

pythonX.X -m pip install название_пакета --user --ignore-installed

Модуль urllib2 был разделён на urllib.request и urllib.error

Нужно заменить на

import urllib.request
import urllib.error

TabError: inconsistent use of tabs and spaces in indentation

Эта ошибка обычно вызвана тем, что нажатие TAB не эквивалентно трём пробелам.

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

Эта ошибка обычно вызвана тем, что модуль requests не установлен, либо установлен, но не для того python, который Вы запустили.

Например, для python2.6 установлен, а для python3 не установлен.

Можно попробовать установить модуль requests. Подробнее про это я писал в статье Тестирование с помощью Python. Потому что столкнулся с этой проблемой впервые именно при тестировании API

Если эта проблема возникла при использовании PyCharm установите requests для Вашего проекта по следующей инструкции

Перейдите в настройки проекта нажав

CTRL + ALT + S

Установка модуля requests в PyCharm

Выберите раздел Project Interpreter

Установка модуля requests в PyCharm изображение с сайта www.andreyolegovich.ru

Нажмите на плюс в правой части экрана

Введите в стоку поиска название нужного модуля. В моём случае это requests

Установка модуля requests в PyCharm изображение с сайта www.andreyolegovich.ru

Введите в поиске requests

Должно открыться окно Available Packages

Установка модуля requests в PyCharm изображение с сайта www.andreyolegovich.ru

Дождитесь окончания установки

Установка модуля requests в PyCharm изображение с сайта www.andreyolegovich.ru

Дождитесь окончания установки

Эта ошибка обычно появляется когда Вы пробуете в python 3 использовать print без скобок, так как это работало в python 2

В python 3 нужно использовать скобки

TypeError: getsockaddrarg: AF_INET address must be tuple, not str

Эта ошибка обычно появляется когда Вы неправильно ставите кавычку, указывая куда нужно подключиться.

Павильный вариант - указать кортеж (tuple), который выглядит следующим образом:

(ip, port), ip обычно в кавычках, порт без

Ошибка возникает если взять в кавычки и ip и порт, тогда вместо кортежа передаётся строка, на что и жалуется интерпретатор.

Не выполняется команда virtualenv

Если Вы только что установили virtualenv, но при попытке выполнить

Вы получаете что-то в духе:

+ CategoryInfo : ObjectNotFound: (virtualenv:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

python -m virtualenv new_env

Не активируется виртуальное окружение

Сначала разберём случай в чистом virtualenv потом перейдём к virtualenvwrapper-win

1. virtualenv

Вы под Windows и пытаетесь активировать Ваше виртуальное окружение, которое называется, допустим, test_env командой

И ничего не происходит

+ CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess

Нужно зайти в PowerShell в режиме администратора и выполнить

Set-ExecutionPolicy Unrestricted -Force

И выполните ещё раз

Если Вы не можете запустить PowerShell в режиме администратора. Например, если Вы пользуетесь терминалом в Visual Studio Code

Set-ExecutionPolicy -Scope CurrentUser Unrestricted -Force

2. virtualenvwrapper-win

Вы установили virtualenvwrapper-win и создали новое окружение

Его видно в списке окружений

И workon его видит

Чтобы активировать его вводим

И ничего не происходит. Потому что virtalenvwrapper-win не работает с PowerShell.

Придётся использовать обычный command prompt или переходить в подсистему Linux

Подобные ошибки возникают если ещё не установили какую-то библиотеку, но уже попробовали ей воспользоваться

sudo apt install -y python-psutil

Эта ошибка говорит о том, что вы запускаете код написанный на Python2 с помощью Python3

Установите последнюю версию Python2 по инструкции и запустите код с помощью второго Python

Я с завидной регулярностью сталкиваюсь со всевозможными ошибками, так или иначе связанными с модулями Python. Существует огромное количество разнообразных модулей Python, которые разработчики активно используют, но далеко не всегда заботятся об установке зависимостей. Некоторые даже не удосуживаются их документировать. Параллельно существует две мажорные версии Python: 2 и 3. В разных дистрибутивах отдано предпочтение одной или другой версии, по этой причине самостоятельно установленную программу в зависимости от дистрибутива нужно при запуске предварять python или python2/python3. Например:

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

Также прибавляет путаницу то, что модули можно установить как из стандартного репозитория дистрибутивов, так и с помощью pip (инструмент для установки пакетов Python).

Цель этой заметки — рассмотреть некоторые характерные проблемы модулей Python. Все возможные ошибки вряд ли удастся охватить, но описанное здесь должно помочь понять, в каком примерно направлении двигаться.


Отсутствие модуля Python

Большинство ошибок модулей Python начинаются со строк:

В них трудно разобраться, поэтому поищите фразы вида:

  • ModuleNotFoundError: No module named
  • No module named
  • ImportError: No module named

За ними следует название модуля.

Поищите по указанному имени в системном репозитории, или попробуйте установить командой вида:

Пакет Python установлен, но программа его не видит

Причина может быть в том, что вы установили модуль для другой версии. Например, программа написана на Python3, а вы установили модуль с этим же названием, но написанный на Python2. В этом случае он не будет существовать для программы. Поэтому нужно правильно указывать номер версии.

Команда pip также имеет свои две версии: pip2 и pip3. Если версия не указана, то это означает, что используется какая-то из двух указанных (2 или 3) версий, которая является основной в системе. Например, сейчас в Debian и производных по умолчанию основной версией Python является вторая. Поэтому в репозитории есть два пакета: python-pip (вторая версия) и python3-pip (третья).

В Arch Linux и производных по умолчанию основной версией является третья, поэтому в репозиториях присутствует пакет python-pip (третья версия) и python2-pip (вторая).

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

Установлена новая версия модуля, но программа видит старую версию

Я несколько раз сталкивался с подобными необъяснимыми ошибками.

Иногда помогает удаление модуля командой вида:

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

Если модуль вам нужен, попробуйте вновь установить его и проверьте, решило ли это проблему.

Если проблема не решена, то удалите все файлы модуля, обычно они расположены в папках вида:

  • /usr/lib/python2.7/site-packages/модуль
  • /usr/lib/python3.7/site-packages/модуль

Ошибки, в которых присутствует слово AttributeError, NoneType, object has no attribute обычно вызваны не отсутствием модуля, а тем, что модуль не получил ожидаемого аргумента, либо получил неправильное число аргументов. Было бы правильнее сказать, что ошибка вызвана недостаточной проверкой данных и отсутствием перехвата исключений (то есть программа плохо написана).

В этих случаях обычно ничего не требуется дополнительно устанавливать. В моей практике частыми случаями таких ошибок является обращение программы к определённому сайту, но сайт может быть недоступен, либо API ключ больше недействителен, либо программа не получила ожидаемые данные по другим причинам. Также программа может обращаться к другой программе, но из-за ошибки в ней получит не тот результат, который ожидала, и уже это вызывает приведённые выше ошибки, которые мы видим.

Опять же, хорошо написанная программа в этом случае должна вернуть что-то вроде «информация не загружена», «работа программы N завершилась ошибкой» и так далее. Как правило, нужно разбираться с причиной самой первой проблемы или обращаться к разработчику.

Модуль установлен, но при обновлении или обращении к нему появляется ошибки

Это самая экзотическая ошибка, которая вызвана, видимо, повреждением файлов пакета. К примеру, при попытке обновления я получал ошибку:

При этом сам модуль установлен как следует из самой первой строки.

Проблема может решиться удалением всех файлов пакета (с помощью rm) и затем повторной установки.

К примеру в рассматриваемом случае, удаление:

После этого проблема с модулем исчезла.

Заключение

Пожалуй, это далеко не полный «справочник ошибок Python», но если вы можете сориентироваться, какого рода ошибка у вас возникла:

  • отсутствует модуль
  • модуль неправильной версии
  • модуль повреждён
  • внешняя причина — программа не получила ожидаемые данные

Так вот, если вы хотя бы примерно поняли главную причину, то вам будет проще понять, в каком направлении двигаться для её решения.


Я устанавливаю tweepy, но у меня возникает ошибка, связанная с pip.req. У меня установлен pip, но по какой-то причине pip.req все еще не может быть найден. Я провел кучу онлайн-исследований, и самое большее, что я смог найти, - это проблема несовместимости между zapo (?) И python 2.7, вызывающая ту же ошибку для некоторых других пользователей. Однако в дискуссии было неясно, как решить проблему. Спасибо!

Похоже, что это сработало бы, если бы у вас был этот код:

  1. создать каталог
  2. добавить пустой файл
  3. добавить файл
  4. введите указанный выше код в :

изменить строку в

  • 1 ^ Спасибо! Так что я могу понять - почему? Почему я должен сам добавить этот код и что делает приведенный выше код?
  • 3 Автор tweepy написал сценарий , который ссылается на файлы и каталоги, которые не существуют. Я говорю вам, что, вероятно, имел в виду автор. (Скорее всего, эти файлы находятся на его жестком диске, но не добавлены в репозиторий git. Такое случается.) Этот код считывает файл pip и извлекает необходимые модули для установки. Затем фактически устанавливает файлы.
  • @hughdbrown, какую строку нужно изменить и чем?
  • 1 @AliIssa Я бы порекомендовал разместить функцию в файле setup.py, а не импортировать ее. Смотрите мое решение ниже.
  • 1 Не совсем понятно, куда добавить строку в файле , поэтому я столкнулся с той же проблемой.

Это происходит в последнее время из-за изменения пункта 10.

Измените это на что-то вроде:

Это должно сработать.

Я понизился до версии 9.0.3, и у меня все заработало. Команда для понижения версии:

  • Спасибо. Печально, что дошло до понижения версии, но это единственное, что у меня сработало.

У меня была очень похожая проблема с Python 3.7 + pip 18.0:

Решением было обновить pip-tools с 1.10 до 2.0:

Вместо того, чтобы импортировать функцию и, возможно, столкнуться с другими проблемами, замените содержимое setup.py следующим:

Обратите внимание, что аргумент сеанса был удален из вызова parse_requirements.

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

33 ответа

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

Заставить переустановить pip:

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

Теперь pip3 install

(для установок на уровне пользователя) будут работать правильно.

Никогда не должно быть причин, по которым вам нужно запускать

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

. У той же проблемы на macOS также, это общая проблема на разных платформах.

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

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

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

2 ответа

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

Заставить переустановить pip:

Теперь pip3 install

(для пользовательских установок) будут работать правильно.

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

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

Имела ту же проблему и на macOS, это общая проблема на всех платформах.

OSX/Linux

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

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

На OSX если у вас установлен easy_install, вы также можете использовать

Windows

В этой операционной системе используйте команду:

Если у вас машина на Windows, где если он был установлен, easy_install может быть найден в вашем каталоге Python*Scripts. (Помните, Patheasy_install.exe — это пример, моя, к примеру, такая C:Python32Scriptseasy_install.exe)

Если вы хотите добавить библиотеку на Windows машине вручную, вы можете загрузить сжатую библиотеку, разархивировать и затем поместить в каталог Lib вашего Python.

Из исходников (универсальный способ)

На mac osx и Windows, после загрузки zip с исходником, распакуйте его и из терминала/cmd запустите

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

Я попытался сделать sudo apt-get remove python-pip за которым следует sudo apt-get install python-pip но ничего не изменилось.

Спасибо за ваше время!

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

Среда: OSX && Python установлен через Brew

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

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

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

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

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

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

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

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

Проверьте привилегию файла py py.

решение: вход пользователя root и запуск

В файле "/usr/local/bin/pip" изменится from pip._internal import main to from pip import main

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

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

Вы используете python2 или python3? Следующая команда может быть другой!

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

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

Читайте также: