Пип не работает за брандмауэром

Я пытаюсь использовать pip из-за корпоративного брандмауэра и не повезло.

Я установил http_proxy среды http_proxy и https_proxy. wget работает, но не pip.

Я пробовал это...

sudo -E pip install virtualenv

с этими прокси...

export http_proxy=myproxyname.mydomain.com:8080
export https_proxy=myproxyname.mydomain.com:8080 

... и получил длинную стопку, которая закончилась этим

/requests/packages/urllib3/poolmanager.py", line 214, in __init__
'Not supported proxy scheme %s' % self.proxy.scheme
AssertionError: Not supported proxy scheme None

Я посмотрел на источник poolmanager.py. Похоже, что требуется, чтобы переменные-посредники начинались со схемы. Поэтому я попробовал снова со следующими прокси...

export http_proxy=http://myproxyname.mydomain.com:8080
export https_proxy=https://myproxyname.mydomain.com:8080 (also tried this with http://)

... и я получаю следующую ошибку

Downloading/unpacking virtualenv
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement virtualenv
Cleaning up...
No distributions at all found for virtualenv
Storing debug log for failure in /root/.pip/pip.log

Это та же ошибка, которую я получаю, когда у меня нет прокси-сервера вообще, хотя я получаю его намного быстрее, когда установлены прокси.

Когда я пытаюсь wget...

wget --no-check-certificate https://pypi.python.org/simple/

Он отлично работает, поэтому я думаю, что сами прокси выглядят нормально, если я не попробую их с пипсом.

Использование опции --proxy вместо envvars не помогло. Те же результаты.

Есть идеи?

Спасибо, Бин

Ответ 1

Используйте аргумент --trusted-host.

Я выяснил, как заставить его работать со мной за моим корпоративным брандмауэром, используя аргумент --trusted-host.

Моя первая попытка заключалась в следующем:

pip install matplotlib

и неудачный текст был следующим:

Не удалось получить URL-адрес https://pypi.python.org/simple/matplotlib/: возникла проблема с подтверждением сертификата ssl: сертификат SSL: CERTIFICATE_VERIFY_FAILED подтвержден (_ssl.c: 645) - пропуск

Итак, я пробовал это, что сработало:

pip3.5 install matplotlib --trusted-host pypi.python.org

Ответ 3

Я должен был установить все это в Windows, чтобы это работало.

set http_proxy=http://proxy.corp.com:8083
set https_proxy=http://proxy.corp.com:8083
set all_proxy=http://proxy.corp.com:8083
set no_proxy=localhost,.corp.com

set HTTP_PROXY=http://proxy.corp.com:8083
set HTTPS_PROXY=http://proxy.corp.com:8083
set ALL_PROXY=http://proxy.corp.com:8083
set NO_PROXY=localhost,.corp.com

set PATH=c:\python27\scripts;c:\python27\;%PATH%

Пожалуйста, замените proxy.corp.com:8083 на ваш http прокси-сервер.

После этого я использую pip install numpy

[В последнем ".corp.com" отсутствовал период (исправил это)… кстати, после МНОГОТВОРЕНИЯ из-за нашего корпоративного брандмауэра, ЭТО решение было единственным, которое сработало!]

Ответ 4

pip имеет возможность установить прокси-сервер, поэтому для вас должно работать следующее:

sudo -E pip install --proxy="myproxyname.mydomain.com:8080" virtualenv

Ответ 5

Попробуйте добавить "http://" перед именем прокси-сервера:

sudo -E pip install --proxy="http://myproxyname.mydomain.com:8080" virtualenv

Ответ 6

это работает за прокси

sudo -E pip --proxy имя пользователя: пароль @http://IP: установка порта

Ответ 7

В окнах перейдите в "Свойства обозревателя" ---> "Соединение" ---> "Параметры локальной сети" и проверьте адрес (если это файл wpad.dat, загрузите его и найдите "ProxyPort"). "и" ProxyServer ").

Тогда попробуйте:

pip --proxy http://*user*:*password*@P*roxyServer*:*ProxyPort* install *module*