AttributeError: Module Pip не имеет атрибута 'main'

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

Я запускаю python3, а моя версия pip - 10.0.0. Этот файл является setup.py а код, который pip.main(), - это когда к pip.main() обращаются, чтобы установить пакет.

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

Любая помощь будет принята с благодарностью.

enter image description here

Ответ 2

Первый забег

import pip
pip.__version__

Если результат равен "10.0.0", значит, вы успешно установили код
поскольку pip 10.0.0 больше не поддерживает pip.main(), вы можете найти это полезным
https://pip.pypa.io/en/latest/user_guide/#using-pip-from-your-program
Используйте что-то вроде import subprocess subprocess.check_call(["python", '-m', 'pip', 'install', 'pkg']) # install pkg subprocess.check_call(["python", '-m', 'pip', 'install',"--upgrade", 'pkg']) # upgrade pkg


Изменение: pip 10.0.1 все еще не поддерживает основные
Вы можете выбрать DOWNGRADE версию вашего пипса с помощью следующей команды:
python -m pip install --upgrade pip==9.0.3

Ответ 3

Похоже, что pip сделал рефакторинг и переместил main на внутренний. Об этом подробно сообщается здесь: https://github.com/pypa/pip/issues/5240

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

import pip
pip.main(...)

в

from pip._internal import main
main(...)

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

Ответ 4

Для того, чтобы проверить, является ли ваша pip проблемы установки, попробуйте использовать easy_install установить более раннюю версию пипа:

easy_install pip==9.0.1

Если это удастся, pip должен работать сейчас. Затем вы можете перейти к любой другой версии pip вы хотите:

pip install pip==10....

Или вы можете просто остаться с version 9.0.1, так как ваш проект требует версии> = 9.0.

Попробуйте снова создать проект.

Ответ 5

Это мне помогает, https://pip.pypa.io/en/stable/install/

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

Если вы используете python3 и не устанавливаете его по умолчанию. сделай это,

python3 get-pip.py

Меня устраивает.

Ответ 6

Если python -m pip install --upgrade pip==9.0.3 не работает, и вы используете Windows,

  1. Перейдите в этот каталог и переместите папки папок в другое место.

enter image description here

  1. Закройте свою среду IDE, если она открыта.

  2. Нажмите "Восстановить" на Python 3.

enter image description here

  1. Ваша IDE должна перестать обнаруживать пакеты пакетов и запрашивать их установку. Установите и сохраните последнюю версию стабильной версии, заблокировав автоматические обновления. enter image description here

Ответ 7

Pip 10.0. * Не поддерживает main.

Вы должны понизить до пункта 9.0.3.

Ответ 8

Мое решение - проверить номер версии пипса и правильно импортировать правильную функцию

    import pip

    if int(pip.__version__.split('.')[0])>9:
        from pip._internal import main
    else:
        from pip import main
    def install(package):
        main(['install', package])

Ответ 9

Попробуйте эту команду.

python -m pip install --user pip==9.0.1

Ответ 10

Это работает хорошо:

 py -m pip install --user --upgrade pip==9.0.3

Ответ 11

Редактировать файл: C:\Users\kpate\hw6\python-zulip-api\zulip_bots\setup.py в строке 108

в

rcode = pip.main(['install', '-r', req_path, '--quiet'])

делать

rcode = getattr(pip, '_main', pip.main)(['install', '-r', req_path, '--quiet'])´

Ответ 12

Не уверен в Windows. Но для пользователей Mac используйте это:

pip install --upgrade pip==9.0.3

Ответ 14

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

sudo pip install --upgrade pip

Моя версия: pip 18.1 из /Library/Python/2.7/site-packages/pip (python 2.7)

Ответ 15

Я столкнулся с такой же ошибкой при использовании pip на anaconda3 4.4.0 (python 3.6) на окнах.

Я исправил проблему с помощью следующей команды:

easy_install pip==18.*  ### installing the latest version pip

Или, если требуется более низкая версия, укажите в команде то же самое.

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

easy_install pip==9.0.1

easy_install --upgrade pip

Ответ 16

Для меня эта проблема возникла, когда я запускал python, находясь в моей папке site-packages. Если бы я запускал его где-то еще, это больше не было проблемой.