Пип не работает за брандмауэром
Я пытаюсь использовать 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
Ответ 2
Это сработало для меня
export HTTP_PROXY=http://myusr:[email protected]:8080
export HTTPS_PROXY=https://myusr:[email protected]:8080
sudo -E pip3 install --proxy http://myusr:[email protected]:8080 virtualenv
Ответ 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*