it-swarm.com.ru

Использование pip за прокси

Я пытаюсь использовать пип за прокси на работе.

Один из ответов из этого поста предложил использовать CNTLM . Я установил и настроил его для этого другого поста , но запуск cntlm.exe -c cntlm.ini -I -M http://google.com дал ошибку Connection to proxy failed, bailing out.

Я также попробовал pip install -–proxy=user:[email protected]:3128 (порт CNTLM по умолчанию), но это вызвало Cannot fetch index base URL http://pypi.python.org/simple/. Очевидно, что-то не так с прокси.

Кто-нибудь знает, как более точно проверить, правильно ли настроен CNTLM, или есть ли другой способ обойти это? Я знаю, что вы также можете установить переменную окружения http_proxy, как описано здесь , но я не уверен, какие учетные данные нужно вставить. Те из cntlm.ini?

235
Rob

Чтобы настроить CNTLM для Windows, следуйте этой статье . Для Ubuntu читайте мой пост в блоге

Правка:

В основном, чтобы использовать CNTLM на любой платформе, вам нужно настроить имя пользователя и hashed пароль, прежде чем использовать http://127.0.0.1:3128 в качестве прокси для вашего родительского прокси.

  1. Отредактируйте конфигурацию и добавьте важную информацию, такую ​​как домен, имя пользователя, пароль и родительский прокси. 

  2. Генерация хешированного пароля.

    Windowscntlm –c cntlm.ini –H

    Ubuntu/Linuxcntlm -v -H -c /etc/cntlm.conf

  3. Удалите простой текстовый пароль из конфигурации и замените его сгенерированными паролями.

Чтобы проверить, работает ли:

Windowscntlm –M http://www.google.com

Ubuntu/LinuxSudo cntlm -M http://www.google.com/

Для более подробных инструкций см. Ссылки выше.

Обновление: 

Ради полноты я недавно смог настроить и использовать CNTLM в Windows. Я столкнулся с проблемой во время процесса синхронизации Kindle для ПК, потому что наш прокси-сервер и установка и настройка CNTLM для Windows устранили эту проблему для меня. Обратитесь к моя статья для более подробной информации. 

57
Annie Lagang

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

Sudo pip --proxy http://web-proxy.mydomain.com install somepackage

Но экспорт переменной среды https_proxy (обратите внимание, что https_proxy не http_proxy) добился цели:

export https_proxy=http://web-proxy.mydomain.com

затем

Sudo -E pip install somepackage
236
Sameer Vaidya

Под Windows не забудьте установить

SET HTTPS_PROXY=<proxyHost>:<proxyPort>

что мне нужно было установить для

pip install pep8
85
k7sleeper

Я не работал со мной. Я использовал https для работ: 

pip install --proxy=https://[email protected]:port somepackage

Для обновления добавьте -U.

48
Hugo Salvador

Вы можете продолжать использовать pip через HTTPS, добавив корневой сертификат вашей корпорации в файл cacert.pem в папке site-packages/pip. Затем настройте pip для использования вашего прокси, добавив следующие строки в ~/pip/pip.conf (или ~\pip\pip.ini, если вы работаете в Windows):

[global]
proxy = [user:[email protected]]proxy.server:port

Вот и все. Нет необходимости использовать сторонние пакеты или отказываться от HTTPS (конечно, ваш сетевой администратор все еще может видеть, что вы делаете).

37
djmoch

Это сработало для меня (на Windows через CMD):

pip install --proxy proxyserver:port requests
26
damian1baran

для окон; установите свой прокси в командной строке как
set HTTP_PROXY=domain\username:[email protected]:myproxyport

пример: 
set http_proxy=IND\namit.kewat:[email protected]:8880

25
namit
$ pip --proxy http://proxy-Host:proxy-port install packagename

Это то, что сработало для меня 

15
Anand

В Windows 7:

pip install --proxy DOMAIN\user:[email protected]:port package

т.е .:

pip install --proxy BR\neo:[email protected]:8080 virtualenv
12
Daniel

В соответствии с нашей политикой безопасности я не могу использовать https с pypi, проверка SSL перезаписывает сертификаты, это нарушает встроенную безопасность pip для www.python.org. Человек посередине - администратор сети.

Так что мне нужно использовать простой http . Для этого мне нужно переопределить системный прокси, а также Pypi по умолчанию:

bin/pip install --proxy=squidproxy:3128 -i http://www.python.org/pypi --upgrade "SQLAlchemy>=0.7.10"
12
bbaassssiiee

Телефон как мобильная точка доступа/USB-модем

Если у меня возникают большие проблемы с поиском пути через корпоративный прокси, я подключаюсь к сети через свой телефон (беспроводную точку доступа, если у меня есть Wi-Fi, USB-модем, если нет) и быстро набираю pip install

Может работать не для всех настроек, но в большинстве случаев должно помочь большинству людей.

11
Tommy O'Dell

Откройте командную строку Windows.

Установите переменные окружения прокси.

set http_proxy=http://user:[email protected]_ip:port
set https_proxy=https://user:[email protected]_ip:port

Установите пакеты Python с использованием прокси в той же командной строке Windows.

pip install --proxy="user:[email protected]_ip:port" package_name
8
Jyoti Yadav

В Ubuntu 14.04 LTS

   Sudo pip --proxy http://PROXYDOM:PROXYPORT install package

Ура

7
Rene Cejas Bolecek

У меня была та же проблема: за корпоративным прокси с аутентификацией на работе у меня не могло быть работы с pip, а также Sublime Text 2 (ну, это работало с пользовательской настройкой моих настроек прокси) . Для pip (и Я попробую это на git), я решил это, установив cntlm proxy . Это было очень просто настроить:

  1. Правка cntlm.ini
  2. Изменить поля «Имя пользователя», «Домен», «Пароль»
  3. Добавьте строку «Прокси» с настройками прокси: server:port
  4. Убедитесь, что строка «NoProxy» объединяет «localhost» (по умолчанию)
  5. Обратите внимание на порт по умолчанию: 3128
  6. Сохранить и все.

Чтобы проверить это, просто запустите новый инструмент командной строки и попробуйте:

pip install Django --proxy=localhost:3128

Это сработало для меня. Надеюсь, это поможет вам.

6
Johan Chouquet

если вы хотите обновить pip через прокси, можете использовать (например, в Windows):

python -m pip --proxy http://proxy_user:[email protected]_hostname:proxy_port insta
ll --upgrade pip
5
Nikolay Baranenko

Установите переменную invironment в Advanced System Settings . В командной строке она должна вести себя так:

C:\Windows\system32> echo% http_proxy%

http: // username: passowrd @ proxy: порт

C:\Windows\system32> echo% https_proxy%

http: // имя пользователя: пароль @ прокси: порт

Позже, просто pip install whatEver должен работать.

5
mkkhedawat

Для пользователей Windows: если вы хотите установить Flask-MongoAlchemy, используйте следующий код

pip install Flask-MongoAlchemy --proxy="http://example.com:port"**
4
Nitin Panwar

Как насчет того, чтобы делать это локально? Скорее всего, вы можете скачать из источника https через ваш браузер

  1. Загрузите файл своего модуля (mysql-connector-python-2.0.3.Zip /gz...etc). 
  2. Извлеките его и перейдите в извлеченный каталог, где находится файл setup.py и позвоните:

    C:\mysql-connector-python-2.0.3>python.exe setup.py install
    
2
Sendi_t

Предупреждение: что-то очень плохое в команде "pip search" . Команда поиска не использует настройку прокси независимо от способа ее передачи.

Я пытался выяснить проблему, только попробовав команду «поиск», и нашел этот пост с подробным объяснением этой ошибки: https://github.com/pypa/pip/issues/1104

Я могу подтвердить, что ошибка остается с pip 1.5.6 на Debian 8 с python 2.7.9 . Команда "pip install" работает как шарм.

2
Pivert

Я получил ошибку:

[email protected]:~$ Sudo http_proxy=http://localhost:3128 pip install Django==1.8.8 
Downloading/unpacking Django==1.8.8
  Cannot fetch index base URL http://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement Django==1.8.8
No distributions at all found for Django==1.8.8
Storing complete log in /home/chris/.pip/pip.log

(Порт прокси-сервера - это ssh-порт, перенаправленный на localhost:3128).

Мне пришлось установить оба прокси http и https, чтобы он работал:

[email protected]:~$ Sudo http_proxy=http://localhost:3128 https_proxy=http://localhost:3128 pip install Django==1.8.8
Downloading/unpacking Django==1.8.8
  Downloading Django-1.8.8.tar.gz (7.3Mb): 7.3Mb downloaded
  Running setup.py Egg_info for package Django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: Django
  Running setup.py install for Django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
    changing mode of build/scripts-2.7/Django-admin.py from 644 to 755
    changing mode of /usr/local/bin/Django-admin.py to 755
    Installing Django-admin script to /usr/local/bin
Successfully installed Django
Cleaning up...

as http://pypi.python.org/simple/ перенаправляет на https://pypi.python.org/simple, но ошибка pip не сообщает.

2
fadedbee

В CentOS (на самом деле я думаю, что все дистрибутивы Linux похожи) запустить

env|grep http_proxy

а также

env|grep https_proxy

проверьте, что вывод этих команд (они должны содержать ваши прокси-адреса).

Если выходные данные пусты или имеют неправильные значения, измените их, например:

export http_proxy=http://10.1.1.1:8080
export https_proxy=http://10.1.1.1:8080

Теперь попробуйте получить и установить несколько пакетов, используя pip:

pip --proxy http://10.1.1.1:8080 install robotframework

и на самом деле я никогда не встречал случая, когда это не сработало. Для некоторых систем вам нужно быть рутом (Sudo недостаточно).

2
Paweł Wojtal

Я также не эксперт в этом, но я заставил это работать, установив переменную all_proxy в файле ~/.bashrc. Чтобы открыть файл ~/.bashrc и редактировать его из терминала, выполните следующие команды:

gedit ~/.bashrc &

Добавить следующее в конце файла,

export all_proxy="http://x.y.z.w:port"

Затем либо откройте новый терминал или запустите следующий в том же терминале,

source ~/.bashrc

Простая установка переменных http_proxy и https_proxy недостаточна для простого использования pip install somepackage. Хотя Sudo -E pip install somepackage как-то работает, но это создало некоторые проблемы, если я использую локальную установку Anaconda в папке моих пользователей.

Постскриптум - Я использую Ubuntu 16.04.

2
bytestorm

Если вы используете Linux от имени root:

env https_proxy=http://$web_proxy_ip:$web_proxy_port pip install something

Когда вы используете env, он экспортирует переменную https_proxy для текущего выполнения команды pip install.

$ web_proxy_ip - это имя хоста или IP-адрес вашего прокси $ web_proxy_port - это порт 

1
Adail Junior

Это то, что работает для меня: 

pip --proxy proxy url:port command package
0
Brock Vond

Я мог бы добиться этого, запустив:

pip install --proxy=http://user:[email protected]:3128 package==version

Я использую Python 3.7.3 внутри корпоративного прокси.

0
ncastro

для окон перейдите в C: /ProgramData/pip/pip.ini и установите

[Глобальный]

прокси = http: // YouKnowTheRest

с вашими данными прокси. Это постоянно настраивает прокси для pip.

0
Kvothan

Установите следующую переменную среды: export PIP_PROXY=http://web-proxy.mydomain.com

0
FTM

Я решил проблему с PIP в Windows, используя «Fiddler» ( https://www.telerik.com/download/fiddler ). После загрузки и установки сделайте следующее:

«Правила» => нажмите «Автоматическая аутентификация»

Пример: pip install virtualenv -proxy 127.0.0.1:8888

Просто откройте свою подсказку и используйте.

https://github.com/pypa/pip/issues/1182 Поиск слова «Voltagex» (комментарий от 22 мая 2015 г.)

0
Lucius Matos