Невозможно установить библиотеки Python

Я не могу установить какие-либо библиотеки Python. я использую pip 9.0.1 а также python 2.7, Я получаю следующую ошибку:

EN-NishantS:~ 8417$ pip install presto-python-client
Collecting presto-python-client
  Could not find a version that satisfies the requirement presto-python-client (from versions: )
No matching distribution found for presto-python-client

На бегу с pip install -vvv Я получаю следующее:

Collecting presto-python-client
  1 location(s) to search for versions of presto-python-client:
  * https://pypi.python.org/simple/presto-python-client/
  Getting page https://pypi.python.org/simple/presto-python-client/
  Looking up "https://pypi.python.org/simple/presto-python-client/" in the cache
  No cache entry available
  Starting new HTTPS connection (1): pypi.python.org
  "GET /simple/presto-python-client/ HTTP/1.1" 403 170
  Status code 403 not in [200, 203, 300, 301]
  Could not fetch URL https://pypi.python.org/simple/presto-python-client/: 403 Client Error: TLSv1.2+ is required for url: https://pypi.python.org/simple/presto-python-client/ - skipping
  Could not find a version that satisfies the requirement presto-python-client (from versions: )
Cleaning up...
No matching distribution found for presto-python-client
Exception information:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/install.py", line 324, in run
    requirement_set.prepare_files(finder)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 554, in _prepare_file
    require_hashes
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 278, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/index.py", line 514, in find_requirement
    'No matching distribution found for %s' % req
DistributionNotFound: No matching distribution found for presto-python-client
Looking up "https://pypi.python.org/pypi/pip/json" in the cache
No cache entry available
Starting new HTTPS connection (1): pypi.python.org
"GET /pypi/pip/json HTTP/1.1" 403 170
Status code 403 not in [200, 203, 300, 301]
There was an error checking the latest version of pip
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/utils/outdated.py", line 128, in pip_version_check
    resp.raise_for_status()
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/_vendor/requests/models.py", line 862, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
HTTPError: 403 Client Error: TLSv1.2+ is required for url: https://pypi.python.org/pypi/pip/json

7 ответов

Решение

На Mac вы можете сделать sudo curl https://bootstrap.pypa.io/get-pip.py | python

Похоже, эта проблема порождает довольно много вопросов о переполнении стека о том, что различные пакеты не устанавливаются с помощью pip install package-name, Поэтому я решил напечатать свой ответ отсюда для большей ясности по этому вопросу:

Решением является обновление pip до последней версии.

Тем не менее, обновление пипс через pip install --upgrade pip может не обновлять его правильно (он покажет, что он обновлен, даже если это не так).

Поэтому (например, для пользователей Mac) нам нужно обновить pip следующим образом:

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

Что происходит:

Сайты Python.org прекращают поддержку TLS версий 1.0 и 1.1. Это означает, что Mac OS X версии 10.12 (Sierra) или старше не сможет использовать pip, если не обновит 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

У меня была такая же проблема сегодня, когда я пытался установить Django.

Я просто переустановил пипс. Получите get-pip.py с https://pip.pypa.io/en/stable/installing/ и просто запустите python get-pip.py в твоей виртуальности. Это должно перезаписать существующую установку и обновить сертификат SSL.

Коллега также в macOS v10.12 (Sierra) просто решил эту проблему, запустив brew install python@2 а затем перезаписать предыдущую версию. Похоже, что версия с сайта Python не содержит правильную версию OpenSSL.

Я думаю, что кто-то также подал ошибку для этого непосредственно в Python: система OS X OpenSSL устарела - установщик должен собрать локальную libssl

Ваш HTTP-запрос к PyPI завершается с ошибкой HTTP 403 (запрещено):

HTTPError: 403 Client Error: TLSv1.2+ is required for url:

https://pypi.python.org/pypi/pip/json

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

Я успешно обновил Python 3 на MacOS v10.13 (High Sierra), используяsudo pip3 install --upgrade pip,

Для обновления High Sierra версии 2.7 мне пришлось использовать sudo pip2 install --upgrade pip,

У меня была похожая проблема.

Проблема была в старой версии OpenSSL, связанной с системной установкой Python.

Поэтому я удалил все дистрибутивы Python из системы и установил последнюю реализацию Python с brew install python@2,

Вы можете проверить версию OpenSSL, связанную с Python, следующим образом:

Python 2.7.14 (default, Mar 22 2018, 15:04:47)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.0.2o  27 Mar 2018'
Другие вопросы по тегам