'pip install' fails for every package ("Could not find a version that satisfies the requirement") [duplicate]
ошибка '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>
Я виделпохожиевопросы по Stack Overflow, но, похоже, они не полностью связаны с этим.
Кроме того, этот пост предполагает, что это может произойти, если PyPI отключен или мой IP-адрес занесен в черный список. Похоже, что оба варианта неверны для моего случая.
pip отображается в актуальном состоянии при запуске pip install --upgrade pip.
Примечание: Возможно, вам потребуется использовать sudo python вышеописанное, если не в виртуальной среде.
Что происходит:
Python.org сайты прекращают поддержку TLS версий 1.0 и 1.1. Это означает, что Mac OS X версии 10.12 (Sierra) или более поздней не сможет использовать pip, если они не обновят pip, как указано выше.
(Обратите внимание, что обновление pip через pip install --upgrade pip также не приведет к его правильному обновлению. Это проблема курицы и яйца)
Если вы используете macOS / OS X версии 10.12 или старше, вам следует обновить до последней версии pip (9.0.3), чтобы безопасно подключаться к индексу пакета Python:
Pip 9.0.3 поддерживает TLSv1.2 при запуске под управлением системного Python в macOS < 10.13. Официальные примечания к выпуску: https://pip.pypa.io/en/stable/news /
Очевидно, 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 отдельно.