"pip install" завершается неудачей для каждого пакета ("Не удалось найти версию, которая удовлетворяет требованию")
pip install <package name>
терпит неудачу для каждой посылки для меня. Вот что я получаю:
Could not find a version that satisfies the requirement <package-name
(from versions: )
No matching distribution found for <package-name>
Я видел похожие вопросы о переполнении стека, но они, похоже, не связаны с этим.
Кроме того, этот пост предполагает, что это может произойти, если PyPI не работает или мой IP-адрес занесен в черный список. Кажется, что оба не верны для моего случая.
пип показывает актуальный при запуске pip install --upgrade pip
,
2 ответа
Обновите пункт следующим образом:
curl https://bootstrap.pypa.io/get-pip.py | python
Что происходит:
Сайты Python.org прекращают поддержку TLS версий 1.0 и 1.1. Это означает, что Mac OS X версии 10.12 (Sierra) или старше не сможет использовать pip, если не обновит pip, как указано выше.
(Обратите внимание, что обновление пипа через pip install --upgrade pip
также не будет обновлять его правильно. Это вопрос курицы и яйца)
Эта тема объясняет это (благодаря этому сообщению в Twitter):
Пользователи Mac, которые используют pip и PyPI:
Если вы работаете в MacOS/OS X версии 10.12 или более ранней, вам следует обновить ее до последней версии (9.0.3), чтобы безопасно подключиться к индексу пакетов Python:
curl https://bootstrap.pypa.io/get-pip.py | python
и мы рекомендуем сделать это к 8 апреля.
Pip 9.0.3 поддерживает TLSv1.2 при работе под системным Python на macOS < 10.13. Официальные заметки о выпуске: https://pip.pypa.io/en/stable/news/
Кроме того, страница состояния Python:
Завершено - Скользящие отключения завершены, и TLSv1.0 и TLSv1.1 были отключены. 11 апреля 15:37 UTC
Обновление - переходящие отключения были обновлены до затемнения, TLSv1.0 и TLSv1.1 будут всегда отклоняться с HTTP 403. 8 апреля 15:49 UTC
Наконец, чтобы избежать других ошибок при установке, убедитесь, что вы также обновили setuptools после выполнения вышеуказанного:
pip install --upgrade setuptools
Поддержка TLS 1.0 и 1.1 была прекращена для PyPI. Если ваша система не использует более новую версию, это может объяснить вашу ошибку.
Не могли бы вы попытаться переустановить pip для всей системы, чтобы обновить системные зависимости до более новой версии TLS?
Кажется, это связано с невозможностью установить библиотеки Python
Смотрите ответ Доминика Бартона:
Очевидно pip пытается получить доступ к PyPI через HTTPS (который зашифрован и нормально), но со старой (небезопасной) версией SSL. Ваша система устарела. Это может помочь, если вы обновите свои пакеты.
В системах на основе Debian я бы попробовал:
apt-get update && apt-get upgrade python-pip
В системах на базе Red Hat Linux:
yum update python-pip # (or python2-pip, at least on Red Hat Linux 7)
На Mac:
sudo easy_install -U pip
Вы также можете попробовать обновить
openssl
по отдельности.