Использование Python Pip из-за брандмауэра Sophos с сертификатом

У меня есть эта проблема с использованием pip на моем рабочем месте, поскольку системный администратор начал использовать брандмауэр Sophos XG с пользовательским центром сертификации, установленным в моей локальной системе Windows и Firefox. У меня не настроено ни одного прокси-сервера ни на одном из клиентов.

Когда я пытаюсь что-то сделать, это происходит.

C:\Users\talha.ahmed>pip install objdict
Collecting objdict
  Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError
(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x0000000003A3B4A8>, 'Connecti
on to 10.10.2.124 timed out. (connect timeout=15)')': /simple/objdict/
  Retrying (Retry(total=3, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError
(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x0000000003A3B588>, 'Connecti
on to 10.10.2.124 timed out. (connect timeout=15)')': /simple/objdict/
  Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError
(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x0000000003A3BC88>, 'Connecti
on to 10.10.2.124 timed out. (connect timeout=15)')': /simple/objdict/
  Retrying (Retry(total=1, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError
(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x0000000003A3B780>, 'Connecti
on to 10.10.2.124 timed out. (connect timeout=15)')': /simple/objdict/
  Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'ConnectTimeoutError
(<pip._vendor.requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x0000000003A3BB38>, 'Connecti
on to 10.10.2.124 timed out. (connect timeout=15)')': /simple/objdict/
  Could not find a version that satisfies the requirement objdict (from versions: )
No matching distribution found for objdict

Обратите внимание, что в нем говорится, что он получает тайм-аут соединения с 10.10.2.124 (который не является шлюзом / прокси-сервером) вместо pypi.python.org, который может быть каким-то локальным сервером или модемом или чем-то еще.

Однако я могу получить доступ к https://pypi.python.org/simple/objdict/ используя мой firefox, и загрузить пакеты вручную. Когда я это делаю, я вижу Firefox, используя поддельный сертификат Sophos, и все, кажется, работает нормально.

Я уже пробовал использовать --cert опцию pip и попытался добавить сертификат в файл C:\Python27\Lib\site-packages\pip_vendor\ запросы \cacert.pem. С использованием --proxy варианты в различных комбинациях, как это предлагается в различных дискуссиях о SO и SU.

Так что вы можете предложить мой следующий подход?

1 ответ

Проблема ушла, когда использовали http_proxy а также https_proxy переменные для указания прокси для пипа. Видимо пипс игнорировал --proxy опция из командной строки, однако она считывает переменные окружения.

Pip использует настройки прокси из "настроек интернета" системы Windows, которые используются Chrome и Internet Explorer, но игнорируются Firefox. В моем конкретном случае в настройках Интернета было установлено использование прокси на 10.10.2.124 (неправильно), что мне также не требовалось.

Удаление прокси-проверки из "параметров Интернета" фактически устраняет необходимость указывать переменную среды. Единственное, что осталось сказать - это сертификат, который можно сделать с помощью параметра --cert.

Другие вопросы по тегам