Невозможно установить библиотеки 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'