ошибка установки pip с сообщением "ошибка подключения: [SSL: CERTIFICATE_VERIFY_FAILED] ошибка проверки сертификата (_ssl.c: 598)"
Я новичок в Python и пытаюсь > pip install linkchecker в Windows 7. Некоторые примечания:
ошибка установки pip не выполняется независимо от пакета. Например, > 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 не проверяет 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
Переведено автоматически
Ответ 1
ОБНОВЛЕНИЕ: 2023-08: в pip.conf нет поля для sslverify false . это могло работать много лет назад, но не работает сегодня.
используйте trusted-host либо в аргументе pip.conf, либо в аргументе командной строки
Примечание: где-то в апреле 2018 года индекс пакета Python был перенесен с pypi.python.org на pypi.org. Это означает, что команды "доверенного хоста", использующие старый домен, больше не работают, но вы можете добавить обе.
Постоянное исправление
С момента выпуска pip 10.0 вы должны иметь возможность исправить это навсегда, просто обновив pip сам:
Большинство ответов могут представлять проблему безопасности.
Два обходных пути, которые помогают с легкостью установить большинство пакетов python, это:
Использование easy_install: если вы действительно ленивы и не хотите тратить много времени, используйте easy_install <package_name>. Обратите внимание, что некоторые пакеты не будут найдены или выдадут небольшие ошибки.
С помощью Wheel: загрузите Wheel пакета python и используйте команду pip pip install wheel_package_name.whl для установки пакета.
Если указание корневого сертификата вашей компании не работает, возможно, сработает сертификат cURL: http://curl.haxx.se/ca/cacert.pem
Вы должны использовать PEM-файл, а не CRT-файл. Если у вас есть CRT-файл, вам нужно будет преобразовать файл в PEM В комментариях есть сообщения, что теперь это работает с CRT-файлом, но я не проверял.
У меня возникли проблемы с ssl из-за сетевой безопасности компании, связанной с netscope. На моем компьютере установлена Windows 10 с python 3.9, и у меня сработала следующая команда.