Дополнительно
pip install не работает с "ошибкой соединения: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)"
Я очень новичок в Python и пытаюсь > pip install linkchecker
на Windows 7. Некоторые заметки:
- pip install не работает независимо от пакета. Например,
> pip install scrapy
также приводит к ошибке SSL. - Ванильная установка Python 3.4.1 включала pip 1.5.6. Первое, что я попытался сделать, это установить linkchecker. Python 2.7 уже был установлен, он поставлялся вместе с ArcGIS.
python
иpip
не были доступны из командной строки, пока я не установил 3.4.1. > pip search linkchecker
работает. Возможно, это потому, что pip search не проверяет SSL-сертификат сайта.- Я работаю в сети компании, но мы не используем прокси-сервер для выхода в Интернет.
- На каждом компьютере компании (включая мой) есть доверенный корневой центр сертификации, который используется по разным причинам, включая возможность мониторинга TLS-трафика на https://google.com. Не уверен, что это имеет какое-то отношение к этому.
Вот содержимое моего pip.log после запуска pip install linkchecker
:
Downloading/unpacking linkchecker
Getting page https://pypi.python.org/simple/linkchecker/
Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
Getting page https://pypi.python.org/simple/
Could not fetch URL https://pypi.python.org/simple/: connection error: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/ (Caused by <class 'http.client.CannotSendRequest'>: Request-sent)
Will skip URL https://pypi.python.org/simple/ when looking for download links for linkchecker
Cannot fetch index base URL https://pypi.python.org/simple/
URLs to search for versions for linkchecker:
* https://pypi.python.org/simple/linkchecker/
Getting page https://pypi.python.org/simple/linkchecker/
Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
Could not find any downloads that satisfy the requirement linkchecker
Cleaning up...
Removing temporary dir C:\Users\jcook\AppData\Local\Temp\pip_build_jcook...
No distributions at all found for linkchecker
Exception information:
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
status = self.run(options, args)
File "C:\Python34\lib\site-packages\pip\commands\install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "C:\Python34\lib\site-packages\pip\req.py", line 1177, in prepare_files
url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
File "C:\Python34\lib\site-packages\pip\index.py", line 277, in find_requirement
raise DistributionNotFound('No distributions at all found for %s' % req)
pip.exceptions.DistributionNotFound: No distributions at all found for linkchecker
350
20
Вы можете игнорировать ошибки SSL, установив
pypi.org
иfiles.pythonhosted.org
в качестве надежных хозяев.Примечание: в течение апреля 2018 году индекс пакет python была перенесена из
pypi.python.org
вpypi.org
. Это означает "надежного хозяина" и команды, используя старый домен перестанет работать.Постоянное Исправление
С момента выхода Пип 10.0, вы должны быть в состоянии исправить это навсегда только за счет модернизации
Пип
себя:Или просто печать, чтобы получить последнюю версию:
(... а потом убегать get-pip.py с соответствующим интерпретатором Python).
типун установить <otherpackage>
должно работать после этого. Если нет, то вам придется сделать больше, как объяснено ниже.Вы можете хотеть добавить надежные узлы и прокси в файле config.
типун.Ини
(Windows) илитипун.конф
(в Unix)Альтернативные решения (менее безопасно)
Большинство ответов могут возникнуть проблемы с безопасностью.
Два решения, которые помогают в установке большинство пакетов Python с легкостью будет:
[4]: http://www.lfd.uci.edu/~и gohlke/pythonlibs/
С помощью этого параметра можно указать сертификат:
См: Docs » Reference Guide » pip
Если указание корневого сертификата вашей компании не сработает, возможно, сработает cURL-сертификат: http://curl.haxx.se/ca/cacert.pem.
Вы должны использовать PEM файл, а не CRT файл. Если у вас есть файл CRT, вам нужно преобразовать файл в PEM В комментариях есть сообщения, что теперь это работает с файлом CRT, но я не проверял.
Также проверьте: SSL Cert Verification.
ответ kenorb это является очень полезным (и большой!). <БР>среди его решения, возможно, это самый простой:
--надежного хозяина
Например, в этом случае вы можете сделать
Файл PEM(или что-то еще) - это лишнее.
Для меня проблема была решена путем создания папки
типун
, с файл:типун.Ини
вC:\Users\<имя пользователя>\папка AppData\роуминг\
е.г:Внутри него я писал:
Я перезапустил Python, а затем типун постоянно доверяли такие сайты и использовать их для загрузки пакеты.
Если вы можете'т найти папку AppData на Windows, писать в папке %AppData% в проводнике и оно должно появится.
Ответы очень похожи и немного запутанным. В моем случае, сертификаты в моей компании'сетевые с Проблема. Я смог обойти эту проблему с помощью:
Как видно здесь. Аргумент- " ВВВ " может быть опущен, если подробного вывода не требуется
Самый простой способ я'вэ нашел, чтобы скачать и использовать в "компания DigiCert высокой надежности ЭВ корневого ЦС" От компания DigiCert в https://www.digicert.com/digicert-root-certificates.htm#roots
Вы можете посетить https://pypi.python.org/ для проверки эмитента сертификата, нажав на значок замка в адресной строке или увеличить ваши выродка Креди с помощью OpenSSL:
Последнее значение CN в цепочке сертификатов является имя центра сертификации, вам необходимо загрузить.
Для разового усилия, выполнить следующие действия:
(последняя строка предполагает, что вы используете оболочку Bash) перед запуском типун.
Чтобы сделать это повторно, поставить DigiCertHighAssuranceEVRootCA.ЭЛТ где-то общие и экспорта PIP_CERT соответственно в ваш ~/.bashrc следующее.
Постоянное Исправление
Например:
Чтобы раз и навсегда решить эту проблему, вы можете проверить, что у вас типун.файл conf`.
Это где Ваш пункт.conf` должен быть, согласно документации:
Внутри виртуальное окружение:
Свой типун.conf` должен выглядеть так:
типун установить это дополнение не совместимо "установленные" это дополнение не совместимо, не жалуется, после того, как я создал
типун.файл conf`.Вы'вэ следующие возможности решить проблему с
CERTIFICATE_VERIFY_FAILED
:--свиду <надежные.УГР>
илиCA_BUNDLE
переменная для указания альтернативного пакета Калифорния.Е. Г. вы можете перейти к неспособности URL из веб-браузера и импортировать корневой сертификат в систему.
питон -с "и импорт SSL; в печати(протокол SSL.get_default_verify_paths())"
В для проверки текущего (проверка, если существует).SSL_CERT_DIR
,SSL_CERT_FILE
), которые могут использоваться, чтобы определить различные базы данных сертификатов<суп>Пеп-476</суп>.--надежного хозяина в <имя>
чтобы пометить узел как надежные.в
запросы.сделать` (см.: проверка сертификата SSL).Подробнее на: протокол TLS/SSL оболочку для объектов розетке - проверка сертификатов.
Установить время и дату правильно!
Для меня оказалось, что моя дата и время было настроено на Raspberry Пи. В результате оказалось, что все SSL и https-подключения не удалась, используя https://files.pythonhosted.org/ сервер.
Обновление## он такой:
Баш дата -с судо "в СР 23 11:12:00 по GMT+1 2018"в судо команды dpkg-перенастроить tzdata
Или напрямую с например, Google's время:
Реф.: https://superuser.com/a/635024/935136
Баш дата -с судо " и$(завиток -с-головой http://google.com | команда grep ^дата: | СЭД 'ы/дата: //Г') и" судо команды dpkg-перенастроить tzdata
Недавно я столкнулся с этой проблемой, потому что из моей компании'фильтр веб-контента, что использует свой собственный центр сертификации, так что он может фильтровать трафик SSL. Типун не'т, кажется, используя систему'справок с Ca в моем случае, производя ошибки, которые вы упоминаете. Понижение типун до версии 1.2.1 представила свой собственный набор проблем в дальнейшем, поэтому я вернулась к первоначальному варианту, который пришел с Python 3.4.
Мое решение довольно простое: использовать в <код>easy_install</код>. Либо он не't проверяют сертификаты (как старый Пип-версия), или он знает, что нужно использовать систему сертификатов, потому что он работает каждый раз для меня, и я все еще можете использовать pip чтобы удалять пакеты, установленные с easy_install.
Если это не't работа, и вы можете получить доступ к сети или компьютеру, которые не'Т есть вопрос, вы всегда можете настроить свой собственный личный сервер PyPI: https://stackoverflow.com/questions/18052217/how-to-create-local-own-pypi-repository-index-without-mirror
Я почти сделал это, пока я не попробовал с использованием <код>easy_install в< код> В качестве последней отчаянной попытке.
Вы можете попытаться обойти ошибку SSL, используя http вместо https. Конечно, это не оптимально с точки зрения безопасности, но если вы торопитесь, это должно помочь:
Ответы на использование
работы. Но вы'll должны проверить, если есть редиректы или схрон
Пип
- это наезд. На Windows 7 стипун 9.0.1
, мне пришлось бежатьВы можете найти их подробное флаг.
У вас есть 4 варианта:
Использовать сертификат в качестве параметра
С использованием сертификата в ПГИ.conf`и
Создать этот файл:
и добавить эти строки:
Игнорируя сертификат и через HTTP
Игнорируя сертификат и используя HTTP в пункт.конф
Создать этот файл:
и добавить эти строки:
Источник
Я установил pip и easy_install с 1.2.1 и обновить до последней версии Пип (6.0.7 на время), которая способна устанавливать пакеты в моем случае.
Во-первых,
не работает для меня. Я продолжал получать ошибку CERTIFICATE_VERIFY_FAILED. Однако, я заметил в сообщениях об ошибках, которые они ссылаются на 'pypi.орг' сайт. Так, я использовал это в качестве доверенного имени хоста вместо pypi.python.org. Что прикольщик; нагрузка до сих пор не с CERTIFICATE_VERIFY_FAILED, но на более позднем этапе. Найти ссылку на сайт, который был не в состоянии, я включил его в качестве надежного хозяина. Что в конечном счете работал для меня:
Была та же проблема, что пункт Установить ftputil С по activepython 2.7.8, по activepython 3.4.1, и "запаса" на языке Python 3.4.2 на 64-разрядной Windows 7 корпоративная. Все попытки провалились с таким же ошибкам, как ОП.
Решал эту проблему для Python 3.4.2 на понижение до типуна 1.2.1: `easy_install и pip==1.2.1 (см. https://stackoverflow.com/a/16370731/234235). Же исправить и работал по activepython 2.7.8.
Ошибка, сообщил в марте 2013 года, остается открытым: https://github.com/pypa/pip/issues/829.
Я'м не уверен, если это связано, но у меня была похожая проблема, которая была исправлена путем копирования этих файлов из Anaconda3/библиотека/bin в Anaconda3/DLL файлов :
libcrypto-1_1-x64.dll
libssl-1_1-x64.dll
Ничего на этой странице работало на меня, пока я использовал опцию --verbose, чтобы увидеть, что он хотел добраться до files.pythonhosted.org а не pypi.python.org:
Чтобы проверить URL-адрес, он'ов на самом деле не на через параметр --многословный.
Я решил эту проблему, удалив свой pip и установив более старую версию pip: https://pypi.python.org/pypi/pip/1.2.1