Ответ 1
На Mac вы можете сделать sudo curl https://bootstrap.pypa.io/get-pip.py | 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
На Mac вы можете сделать sudo curl https://bootstrap.pypa.io/get-pip.py | python
Сегодня я столкнулся с такой же проблемой, пытаясь установить Django.
Я просто переустановил пипс. Получите get-pip.py с https://pip.pypa.io/en/stable/installing/ и просто запустите python get-pip.py
в своем python get-pip.py
каталоге. Это должно перезаписать существующую установку и обновить сертификат SSL.
Сотрудник также на macOS v10.12 (Sierra) просто решил это, запустив brew install [email protected]
а затем перезаписав предыдущую версию. Похоже, что версия с сайта Python не связывает правильную версию OpenSSL.
Я думаю, что кто-то также подал ошибку для этого прямо на Python: система OS X OpenSSL устарела - установщик должен построить локальный libssl
Ваш HTTP-запрос на PyPI завершился с ошибкой HTTP 403 (Forbidden):
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
отдельно.
Похоже, эта проблема порождает немало вопросов о переполнении стека о том, что различные пакеты не устанавливаются с использованием pip install package-name
. Поэтому я решил переписать свой ответ отсюда для большей ясности в этом вопросе:
Решение состоит в том, чтобы обновить протокол до последней версии.
Тем не менее, обновление pip через pip install --upgrade pip
может не обновить его правильно (оно покажет его актуально, даже если оно не будет).
Итак (для пользователей Mac, например), нам нужно обновить протокол следующим образом:
curl https://bootstrap.pypa.io/get-pip.py | python
Сайты Python.org останавливают поддержку версий TLS версии 1.0 и 1.1. Это означает, что Mac OS X версии 10.12 (Sierra) или старше не смогут использовать 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
Я успешно обновил 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 [email protected]
.
Вы можете проверить версию 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'