"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 по отдельности.

Другие вопросы по тегам