Ответ 1
python3 -m pip install --user --upgrade pip==9.0.3
Я пытаюсь создать api python для проекта с открытым исходным кодом под названием Zulip, и я продолжаю работать в той же проблеме, о чем свидетельствует скриншот ниже.
Я запускаю python3, а моя версия pip - 10.0.0. Этот файл является setup.py
а код, который pip.main()
, - это когда к pip.main()
обращаются, чтобы установить пакет.
Теперь я знаю, что эта сборка должна преуспеть, потому что это проект с открытым исходным кодом, но я много часов пытался исправить проблему зависимости от pip.main()
.
Любая помощь будет принята с благодарностью.
python3 -m pip install --user --upgrade pip==9.0.3
Первый забег
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
Похоже, что pip сделал рефакторинг и переместил main на внутренний. Об этом подробно сообщается здесь: https://github.com/pypa/pip/issues/5240
Обходной путь для меня заключался в том, чтобы изменить
import pip
pip.main(...)
в
from pip._internal import main
main(...)
Я рекомендую прочитать дискуссию, я не уверен, что это лучший подход, но это сработало для моих целей.
Для того, чтобы проверить, является ли ваша pip
проблемы установки, попробуйте использовать easy_install
установить более раннюю версию пипа:
easy_install pip==9.0.1
Если это удастся, pip
должен работать сейчас. Затем вы можете перейти к любой другой версии pip
вы хотите:
pip install pip==10....
Или вы можете просто остаться с version 9.0.1
, так как ваш проект требует версии> = 9.0.
Попробуйте снова создать проект.
Это мне помогает, 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
Меня устраивает.
Если python -m pip install --upgrade pip==9.0.3
не работает, и вы используете Windows,
Закройте свою среду IDE, если она открыта.
Нажмите "Восстановить" на Python 3.
Pip 10.0. * Не поддерживает main.
Вы должны понизить до пункта 9.0.3.
Мое решение - проверить номер версии пипса и правильно импортировать правильную функцию
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])
Попробуйте эту команду.
python -m pip install --user pip==9.0.1
Это работает хорошо:
py -m pip install --user --upgrade pip==9.0.3
Редактировать файл: 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'])´
Не уверен в Windows. Но для пользователей Mac используйте это:
pip install --upgrade pip==9.0.3
Шаг 1 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py Шаг 2 python get-pip.py
Я исправил эту проблему при обновлении до последней версии
sudo pip install --upgrade pip
Моя версия: pip 18.1 из /Library/Python/2.7/site-packages/pip (python 2.7)
Я столкнулся с такой же ошибкой при использовании 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
Для меня эта проблема возникла, когда я запускал python, находясь в моей папке site-packages. Если бы я запускал его где-то еще, это больше не было проблемой.