Я очень новичок в Python и пытаюсь > pip install linkchecker
на Windows 7. Некоторые примечания:
- Установка pip не выполняется независимо от пакета. Например,
> pip install scrapy
также приводит к ошибке SSL. - Ванильная установка Python 3.4.1 включала в себя пип 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
Ответы:
-----> pip install gensim config --global http.sslVerify false
Просто установите любой пакет с помощью инструкции «config --global http.sslVerify false»
Вы можете игнорировать ошибки SSL, установив
pypi.org
и вfiles.pythonhosted.org
качестве доверенных хостов.Примечание . В апреле 2018 года индекс пакетов Python был перенесен из
pypi.python.org
вpypi.org
. Это означает, что команды «доверенного хоста», использующие старый домен, больше не работают.Постоянное исправление
Начиная с выпуска pip 10.0, вы сможете исправить это навсегда, просто обновив
pip
себя:Или просто переустановите его, чтобы получить последнюю версию:
(… И затем работает
get-pip.py
с соответствующим интерпретатором Python).pip install <otherpackage>
должен просто работать после этого. Если нет, то вам нужно будет сделать больше, как описано ниже.Вы можете добавить доверенные хосты и прокси в ваш файл конфигурации .
pip.ini
(Windows) илиpip.conf
(Unix)Альтернативные решения (менее безопасные)
Большинство ответов может представлять проблему безопасности.
Два из обходных путей, которые помогают легко установить большинство пакетов python:
easy_install <package_name>
. Обратите внимание, что некоторые пакеты не будут найдены или приведут к небольшим ошибкам.pip install wheel_package_name.whl
для установки пакета.источник
pip install --trusted-host pypi.python.org pypi_package
, Использование--verbose
показывает, что без--trusted-host
HTTPS-соединения происходит сбой, в то время как попытка того же HTTPS-соединения (но не HTTP) выполняется,--trusted-host
но успешно.pip install --trusted-host pypi.python.org pythonPackage
Вы можете указать сертификат с этим параметром:
Смотрите: Документы »Справочное руководство» pip
Если указание корневого сертификата вашей компании не работает, возможно, cURL будет работать: http://curl.haxx.se/ca/cacert.pem
Вы должны использовать файл PEM, а не файл CRT. Если у вас есть файл CRT, вам нужно будет преобразовать его в PEM. В комментариях есть сообщения, что теперь это работает с файлом CRT, но я не проверял.
Также проверьте: Проверка SSL сертификата .
источник
pip.conf
файл, чтобы на них можно было постоянно ссылаться без указания в командеОтвет Кенорба очень полезен (и великолепен!).
Среди его решений, возможно, это самое простое:
--trusted-host
Например, в этом случае вы можете сделать
Файл pem (или что-то еще) не нужен.
источник
pip list --trusted-host pypi.python.org --outdated
Для меня проблема была решена путем создания папки
pip
с файлом:pip.ini
в ,C:\Users\<username>\AppData\Roaming\
например:Внутри я написал:
Я перезапустил python, а затем pip навсегда доверился этим сайтам и использовал их для загрузки пакетов.
Если вы не можете найти папку AppData в Windows, напишите
%appdata%
в проводнике, и она должна появиться.источник
Ответы очень похожи и немного сбивают с толку. В моем случае проблема была в сертификатах в сети моей компании. Я смог обойти проблему, используя:
Как видно здесь . Аргумент -vvv можно опустить, если подробный вывод не требуется
источник
Постоянное исправление
Например:
источник
Чтобы решить эту проблему раз и навсегда, вы можете убедиться, что у вас есть
pip.conf
файл.Это где вы
pip.conf
должны быть, в соответствии с документацией :Внутри virtualenv:
Вы
pip.conf
должны выглядеть так:pip install linkchecker
Установленlinkchecker
без жалоб после того, как я создалpip.conf
файл.источник
pip
пользователя было обновлено с тех пор, как я опубликовал этот ответ. Я обновил свой ответ для macOS. Это помогает?brew
убедитесь, что вы используете,pip3
и создайтеpip.conf
как$HOME/.config/pip/pip.conf
. Я работал на меня.Самый простой способ, который я нашел, это загрузить и использовать «DigiCert High Assurance EV Root CA» от DigiCert по адресу https://www.digicert.com/digicert-root-certificates.htm#roots
Вы можете посетить https://pypi.python.org/, чтобы проверить издателя сертификата, щелкнув значок замка в адресной строке, или увеличить кредит для гиков с помощью openssl:
Последнее значение CN в цепочке сертификатов - это имя CA, которое вам нужно загрузить.
Для одноразового усилия сделайте следующее:
(последняя строка предполагает, что вы используете оболочку bash) перед запуском pip.
Чтобы сделать это повторно используемым, поместите DigiCertHighAssuranceEVRootCA.crt где-нибудь распространенным и экспортируйте PIP_CERT соответственно в ваш ~ / .bashrc.
источник
У вас есть следующие возможности для решения проблемы
CERTIFICATE_VERIFY_FAILED
:--index-url=http://pypi.python.org/simple/
).Используйте
--cert <trusted.pem>
илиCA_BUNDLE
переменную, чтобы указать альтернативный пакет CA.Например, вы можете перейти на неверный URL из веб-браузера и импортировать корневой сертификат в вашу систему.
Выполнить,
python -c "import ssl; print(ssl.get_default_verify_paths())"
чтобы проверить текущий (проверить, если существует).SSL_CERT_DIR
,SSL_CERT_FILE
), которые можно использовать для указания другой базы данных сертификатов PEP-476 .--trusted-host <hostname>
чтобы пометить хост как доверенный.verify=False
дляrequests.get
(см .: SSL Cert Verification ).--proxy <proxy>
чтобы избежать проверки сертификатов.Подробнее см .: Оболочка TLS / SSL для объектов сокетов - Проверка сертификатов .
источник
Установите правильное время и дату!
Для меня выяснилось, что мои дата и время были неправильно настроены на Raspberry Pi. В результате все соединения SSL и HTTPS были повреждены с использованием сервера https://files.pythonhosted.org/ .
Обновите это так:
Или напрямую, например, со временем Google:
Ссылка: https://superuser.com/a/635024/935136
источник
Недавно я столкнулся с этой проблемой из-за фильтра веб-контента моей компании, который использует собственный центр сертификации, чтобы он мог фильтровать трафик SSL. В моем случае PIP не использует системные сертификаты CA, что приводит к указанной вами ошибке. Понижение версии PIP до версии 1.2.1 позже привело к возникновению проблем, поэтому я вернулся к исходной версии, которая шла с Python 3.4.
Мой обходной путь довольно прост: используйте
easy_install
. Либо он не проверяет сертификаты (например, старую версию PIP), либо знает, как использовать системные сертификаты, потому что он работает каждый раз для меня, и я все еще могу использовать PIP для удаления пакетов, установленных с easy_install.Если это не сработает, и вы можете получить доступ к сети или компьютеру, у которых нет этой проблемы, вы всегда можете настроить собственный персональный сервер PyPI: как создать локальный собственный индекс хранилища pypi без зеркала?
Я почти делал это, пока не попытался использовать
easy_install
в качестве последнего рывка.источник
pip
использовать его--cert MyCompanyRootCA.crt
.Вы можете попытаться обойти ошибку SSL, используя http вместо https. Конечно, это не оптимально с точки зрения безопасности , но если вы спешите, это должно сработать:
источник
Could not fetch URL http://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Ответы использовать
Работа. Но вам нужно будет проверить, нет ли перенаправлений или кешей
pip
. На Windows 7 сpip 9.0.1
меня пришлось запускатьВы можете найти их с подробным флагом.
источник
Я установил pip 1.2.1 с easy_install и обновил до последней версии pip (6.0.7 на тот момент), которая способна устанавливать пакеты в моем случае.
источник
У вас есть 4 варианта:
Использование сертификата в качестве параметра
Использование сертификата в
pip.conf
Создайте этот файл:
и добавьте эти строки:
Игнорирование сертификата и использование HTTP
Игнорирование сертификата и использование HTTP в pip.conf
Создайте этот файл:
и добавьте эти строки:
Источник
источник
Прежде всего,
не работал для меня. Я продолжал получать ошибку CERTIFICATE_VERIFY_FAILED. Однако в сообщениях об ошибках я заметил, что они ссылаются на сайт «pypi.org». Поэтому я использовал это имя в качестве доверенного хоста вместо pypi.python.org. Это почти привело меня туда; загрузка все еще терпела неудачу с CERTIFICATE_VERIFY_FAILED, но на более позднем этапе. Найдя ссылку на сайт, который не работал, я включил его в список доверенных хостов. В конечном итоге у меня сработало:
источник
Я не уверен, что это связано, но у меня была похожая проблема, которая была исправлена путем копирования этих файлов из Anaconda3 / Library / bin в Anaconda3 / DLLs:
libcrypto-1_1-x64.dll
libssl-1_1-x64.dll
источник
Была такая же проблема при попытке
pip install ftputil
с ActivePython 2.7.8, ActivePython 3.4.1 и «стандартным» Python 3.4.2 на 64-битной Windows 7 Enterprise. Все попытки провалились с теми же ошибками, что и OPОбошли проблему для 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 .
источник
Ничто на этой странице не работало для меня, пока я не использовал опцию --verbose, чтобы убедиться, что он хочет получить доступ к файлам files.pythonhosted.org, а не к pypi.python.org:
Поэтому проверьте URL-адрес, на котором он действительно не работает, с помощью параметра --verbose.
источник
Я решил эту проблему, удалив мой pip и установив старую версию pip: https://pypi.python.org/pypi/pip/1.2.1
источник
include the essential parts of the answer here
так как это ссылка на двоичный файл ...?Вы можете попробовать это, чтобы игнорировать "https":
источник
pip install --trusted-host pypi.python.org --upgrade pip –
Одно решение ( для Windows ) является создание файла с именем
pip.ini
в%AppData%\pip\
папке (создайте папку, если она не существует) и вставьте следующие данные:... и тогда мы можем выполнить инструкцию по установке:
Другой вариант - установить пакет, используя аргументы для прокси и сертификата ...
Для преобразования
*.cer
файлов сертификата в требуемый*.pem
формат выполните следующую инструкцию:Надеюсь, это поможет кому-то!
источник
pip3.6 config set global.cert '/<path>/server.crt'
В моем случае это было связано с тем, что SSL-сертификат был подписан внутренним центром сертификации моей компании. Использование обходных путей вроде
pip --cert
не помогло, но сделал следующий пакет:Смотрите: https://pypi.org/project/pip-system-certs/
источник
pip_system_certs
полностью разрушило мою среду Python, и по этой причине это не очень хороший ответ. Не устанавливайте pip_system_certs. См. Stackoverflow.com/questions/27835619/… для получения дополнительной информации.для меня это потому, что ранее я запускаю скрипт, который устанавливает прокси (на fiddler), открывает консоль заново или перезагружает, чтобы решить проблему.
источник
Недавно я столкнулся с той же проблемой в Python 3.6 с Visual Studio 2015. Потратив 2 дня, я получил решение, и оно отлично работает для меня.
Я получил ошибку ниже при попытке установить NumPy с помощью pip или из Visual Studio. Сбор NumPy Не удалось получить URL https://pypi.python.org/simple/numpy/ : При подтверждении сертификата ssl возникла проблема: [SSL: CERTIFICATE_VERIFY_FAILED] проверка сертификата не удалась (_ssl.c: 748) - пропуск Не удалось найти версию, которая удовлетворяет требованию numpy (из версии:) Не найдено соответствующего распределения для numpy
Разрешение :
Для ОС Windows
[global]
trust-host = pypi.python.org Сохраните и закройте файл. Теперь установите с помощью pip / visual studio, все работает нормально.
источник
В моем случае я использовал Python в минимальном альпийском образе докера. Отсутствовали сертификаты корневого ЦС. Fix:
apk update && apk add ca-certificates
источник
Ответ Вольштейна помог мне.
Я не нашел файл pip.ini на моем компьютере. Так и сделал следующее.
Или просто введите% AppData% в проводнике Windows.
Создайте папку с именем pip внутри этой папки appdata.
В той папке pip, которую вы только что создали, создайте простой текстовый файл с именем pip.ini
Вставьте следующие параметры конфигурации в этот файл, используя простой редактор на ваш выбор.
Файл pip.ini:
Теперь тебе нужно идти.
источник
Я столкнулся с подобной проблемой. Решение, которое работает для меня 1) удалить Python 2.7 2) удалить папку Python27 3) переустановить последний Python
источник
Для меня ни один из предложенных методов не сработал - используя cert, HTTP, trust-host.
В моем случае переключение на другую версию пакета работало (paho-mqtt 1.3.1 вместо paho-mqtt 1.3.0 в данном случае).
Похоже, проблема была специфична для этой версии пакета.
источник
Вы можете столкнуться с этой проблемой, если в вашем system.eg отсутствуют некоторые сертификаты на opensuse install ca-certificate-mozilla
источник