Как заставить pip proxy работать с цепочкой сертификатов компании? - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь заставить пипс работать за прокси-сетью моей работы. У меня есть учетные данные для прокси-сервера, и у меня есть файлы цепочки сертификатов, но независимо от того, что я делаю, я не могу прекратить выдавать ошибку SSL:

Could not fetch URL https://pypi.python.org/simple/pyinstaller/: There was a problem confirming the
ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645) - skipping

Я видел этот pip.iniпредполагается, что он существует в% APPDATA%, но его нет, даже папка pip там не существует. Кроме того, люди, которые пропустили файл, смогли создать его и заставить его работать таким образом. Я тоже попробовал, и у меня это не сработало. Я даже пытался указать сертификат в самом операторе pip install с помощью --cert, но безуспешно.

Что мне нужно сделать?

1 Ответ

0 голосов
/ 15 октября 2019

Сертификаты должны находиться в Lib\site-packages\pip\_vendor\certifi\cacert.pem относительно вашего каталога установки Python. Например, если вы установили Python в C:\Python3, то список сертификатов находится в C:\Python3\Lib\site-packages\pip\_vendor\certifi\cacert.pem. Если вы используете виртуальную среду Python, она находится в пределах venv.

Вам необходимо добавить сертификат вашей компании в этот файл cacerm.pem. Убедитесь, что сертификат компании закодирован в формате base-64 (иногда его также называют форматом PEM). Затем вы можете использовать текстовый редактор для объединения файлов.

Примечание. Если вы обновите pip, ваши изменения в cacert.pem, скорее всего, будут потеряны. Поэтому будьте готовы повторять эту операцию после каждого обновления пункта.

...