ImportError: невозможно импортировать имя main при запуске команды pip --version в windows7 32 бит

Я установил последний python (2.7.9) в комплекте с pip и setuptools для 32-битных окон. Я попытался переустановить пип, но проблема не устранена.

Здесь ошибка после запуска pip --version в команде администратора cmd:

Traceback (most recent call last):
 File "D:\Python\lib\runpy.py", line 162, in _run_module_as_main
  "__main__", fname, loader, pkg_name)
 File "D:\Python\lib\runpy.py", line 72, in _run_code 
  exec code in run_globals
 File "D:\Python\Scripts\pip.exe\__main__.py", line 5, in <module>
ImportError: cannot import name main

Ответ 1

Ошибка найдена в pip 10.0.0.

В linux вам необходимо изменить файл:/usr/bin/pip из:

from pip import main
if __name__ == '__main__':
    sys.exit(main())

:

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

Ответ 2

Несмотря на то, что исходный вопрос, похоже, с 2015 года, эта "ошибка", похоже, влияет на пользователей, устанавливающих pip-10.0.0.

Обходной путь заключается не в изменении pip, но для изменения способа вызова pip. Вместо вызова /usr/bin/pip вызов pip через сам Python. Например, вместо ниже:

pip install <package>

Если из Python версии 2 (или двоичный код по умолчанию для Python называется python), выполните:

python -m pip install <package>

или если из Python версии 3:

python3 -m pip install <package> 

Ответ 3

На Ubuntu Server 16 у меня та же проблема с python27. Попробуй это:

+ Изменить

from pip import main
if __name__ == '__main__':
    sys.exit(main())

к

from pip._internal import main
if __name__ == '__main__':
    sys.exit(main())

Ответ 4

В Windows 10 я использовал следующие команды для понижения pip:

python -m pip uninstall pip
python -m pip install pip==9.0.3

Это также должно работать на Linux и Mac тоже.

Ответ 5

У меня была такая же проблема, но удалить и переустановить с помощью apt и pip у меня не получилось.

Я видел другое решение, которое представляет простой способ восстановить путь pip3:

sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall

Ответ 6

я исправил проблему, переустановив pip с помощью get-pip.py.

  1. Загрузите get-pip с официальной ссылки: https://pip.pypa.io/en/stable/install/#upgrading-pip
  2. запустите его, используя commande: python get-pip.py.

И пункт исправлен и работает отлично.

Ответ 7

В MacOS, если вы установили python через Homebrew, измените строку в /usr/local/opt/python/libexec/bin/pip

из

  from pip.internal import main
Код>

к

  from pip._internal import main
Код>

Или используйте этот один лайнер: sed -i '' "s/from pip import main/from pip._internal import main/" /usr/local/opt/python/libexec/bin/pip

Объяснение:

Проблема вызвана изменениями в пути версии 10, перемещающими внутреннее пространство имен в main._internal, а bin script, установленным homebrew, все еще смотрящим его со старого места (где он использовался быть в версии 9). Проблема и некоторые обсуждения https://github.com/pypa/pip/issues/5240

Ответ 8

Если у вас есть жесткая ссылка на pip в вашем PATH (т.е. если у вас установлено несколько версий python), а затем вы обновляете pip, вы также можете столкнуться с этой ошибкой.

Решение состоит в том, чтобы снова создать жесткую ссылку. Или еще лучше, прекратите использование жестких ссылок и используйте программные ссылки.

Ответ 9

Для тех, у кого есть проблемы с использованием pip 10 с PyCharm, загрузите последнюю версию здесь

Ответ 10

Вы также можете застрять в версии 9.0

pip install --upgrade pip==9.0.3

Ответ 11

Работает на Ubuntu 16.04. Шаг 1:

 sudo gedit /home/user_name/.local/bin/pip

файл открывается с содержанием:

#!/usr/bin/python

# -*- coding: utf-8 -*-
import re
import sys

from pip import main

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

Измените main на __main__ как показано ниже:

#!/usr/bin/python

# -*- coding: utf-8 -*-
import re
import sys

from pip import __main__

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

Сохраните файл и закройте его. И все готово!

Ответ 12

попробуй это

#!/usr/bin/python
# GENERATED BY DEBIAN

import sys

# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.i
try:
    from pip import main
except ImportError:
    from pip._internal import main
if __name__ == '__main__':
    sys.exit(main())

Ответ 13

Простое решение, которое работает с Ubuntu, но может решить проблему и в Windows:

Просто позвони

pip install --upgrade pip

Ответ 14

Это решило мою проблему в Ubuntu 18.04 при попытке использовать python3.6:

rm -rf ~/.local/lib/python3.6

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

mv ~/.local/lib/python3.6 ./python3.6_old