Я пытаюсь установить библиотеку Python, используя pip
ошибку SSL:
~/projects/base pre-master± pip install xdict
Collecting xdict
Could not fetch URL https://pypi.python.org/simple/xdict/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping
Could not find a version that satisfies the requirement xdict (from versions: )
No matching distribution found for xdict
версия пипа: пип 9.0.1
Как я могу исправить эту ошибку?
python
python-2.7
pip
ssl-certificate
Нишант Навархеде
источник
источник
Ответы:
Обновите пункт следующим образом:
Примечание: вам может потребоваться использовать
sudo python
выше, если не в виртуальной среде.(Обратите внимание, что обновление
pip
с помощьюpip
iepip install --upgrade pip
также не приведет к корректному обновлению. Это просто проблема с яйцом. Неpip
будет работать, если не использовать TLS> = 1.2.)Как уже упоминалось в этом подробном ответе , это связано с недавним устареванием TLS для pip. Сайты Python.org прекратили поддержку TLS версий 1.0 и 1.1.
Со страницы состояния Python:
Для пользователей PyCharm (virtualenv):
Запустите виртуальную среду с оболочкой. (замените «./venv/bin/activate» на свой собственный путь)
Запустить обновление
Перезапустите ваш экземпляр PyCharm и проверьте ваш интерпретатор Python в настройках .
источник
sudo
на фронте из-за ошибок в разрешении. Спасибо!curl https://bootstrap.pypa.io/get-pip.py | sudo python
sudo
если не в виртуальной среде. Добавил и этот бит в ответ.curl https://bootstrap.pypa.io/get-pip.py | sudo -H python3
Но если сама
curl
команда завершается с ошибкой или «версия протокола оповещения tlsv1» сохраняется даже после обновленияpip
, это означает, что базовая версия библиотеки OpenSSL вашей операционной системы <1.0.1
или версия Python <2.7.9
(или <3.4
в Python 3) не поддерживает более новый протокол TLS 1.2 которыйpip
должен подключиться к PyPI примерно год назад . Вы можете легко проверить это в интерпретаторе Python:AttributeError
(Вместо ожидаемого «5») означает , что ваш STDLIB Pythonssl
модуль, составленный против старого OpenSSL Lib, отсутствует поддержка протокола TLSv1.2 (даже если библиотека OpenSSL может или может быть обновлена позже).К счастью, это можно решить без обновления Python (и всей системы), вручную установив дополнительные пакеты Python - подробное пошаговое руководство доступно здесь, в Stackoverflow .
источник
pip3
, а не простоpip
проверить версию с командой,-V
чтобы убедиться, что вы выполняете правильный пункт!После ответа @ Anupam на OS X я получил следующую ошибку, независимо от того, с какими разрешениями я ее запускал:
В конечном итоге мне удалось загрузить новый пакет pip (9.0.3) из PyPI прямо из моего браузера - https://pypi.org/simple/pip/ , извлечь его содержимое, а затем установить пакет pip локально:
Это исправило мои
[SSL: TLSV1_ALERT_PROTOCOL_VERSION]
ошибки.источник
Решение @Anupam сработало для меня. Однако мне пришлось использовать
sudo
и указать точное местоположение моей виртуальной среды Python:источник
Для обновления локальной версии я использовал небольшой вариант:
Эта проблема возникает, если вы храните ваши pip и пакеты в своем домашнем каталоге, как описано в этом разделе .
источник
У меня сработало следующее решение:
Он также обновлен
pip
до версии 1.10.1источник
Проверьте свою версию TLS:
Если ваша версия TLS меньше 1.2, вы должны обновить ее, так как хранилище PyPI находится в периоде ожидания устаревших ранних версий TLS.
Source - Время обновить ваш Python: TLS v1.2 скоро будет обязательным
Вы можете обновить версию TLS, используя следующую команду:
Это должно исправить вашу проблему. Удачи!
РЕДАКТИРОВАТЬ: Вы можете скачать пакеты, используя свой собственный личный репозиторий пакетов Python независимо от версии TLS. Закрытый репозиторий пакетов Python
источник
Это сработало для меня. Добавить sudo перед питоном
источник
Для пользователей Python2 WIN10:
1. Тщательно удалите python, включите все папки.
2. Загрузите и установите последнюю версию python-2.7.msi (версия 2.7.15).
3.После шага 2 вы можете обнаружить, что pip тоже был установлен.
4. Теперь, если ваша системная среда не была изменена, вы можете использовать pip для установки пакетов. «Версия протокола оповещения tlsv1» не появится.
источник
Я перепробовал все существующие исправления и у меня не работает
Я переустанавливаю python 2.7 (также установлю pip), скачав .pkg по адресу https://www.python.org/downloads/mac-osx/
у меня работает после установки скачал pkg
источник
Я столкнулся с этой проблемой также. Основная проблема заключается в том, что библиотека ssl в версиях Python 2.7 <2.7.9 больше не совместима с механизмом pip.
Если вы работаете в Windows, и вы (как и мы) не можете легко обновить несовместимую версию 2.7, FWIW, я обнаружил, что при копировании следующих файлов из другой установки последней версии Python (например, Python 2.7). 15) на другой машине к вашей установке:
он эффективно «обновит» ваш уровень SSL до уровня, который поддерживается; тогда мы смогли снова использовать pip, даже для обновления pip.
источник
Ответы по установке pip через:
curl https://bootstrap.pypa.io/get-pip.py |sudo python
илиcurl https://bootstrap.pypa.io/get-pip.py | python
не работал для меня, поскольку я продолжал получать ошибку:
Мне пришлось установить
pip
вручную через:pip
сайт распространенияtar.gz
версиюcd
в каталогpython setup.py install
источник
Это сработало для меня, я установил последнюю версию pip, а затем установил библиотеку ( ciscoconfparse ).
Обновление пункта:
источник
myenv:
Python 2.7.14
пип 9.0.1
Mac OSX 10.9.4
mysolution:
загрузить
get-pip.py
вручную с https://packaging.python.org/tutorials/install-packages/бегать
python get-pip.py
рефов:
https://github.com/pypa/warehouse/issues/3293#issuecomment-378468534
https://packaging.python.org/tutorials/installing-packages/
источник
Я также столкнулся с этой проблемой на моем windows10 и попробовал все ответы, но не решил мою проблему.
После этого я обнаружил, что файл конфигурации pip был изменен. Итак, я установил
pip.ini
исходную конфигурацию по умолчанию, повторно запустил команду pip, и она работает для меня!В заключение о решении моего:
Проверьте, что pip.ini (обычно под путем
C:\ProgramData\pip
) был изменен;Если да на шаге 1, попробуйте сбросить его до конфигурации по умолчанию.
источник
Или просто нужной библиотеки просто нет в репо. Я новичок в Python, и все советы по обновлению pip, наконец, были введены в заблуждение. Я просто заглянул в https://pypi.org/ и обнаружил, что библиотека (в моем случае airflow) остановилась на какой-то старой версии, после чего она была переименована. Да, и это глупое решение также возможно :-).
источник
Для всех пользователей
python3
иpip3
пользователей:а затем предположим, что вы хотите установить панд
источник