Использование pip за прокси с CNTLM
Я пытаюсь использовать 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
?
Ответы
Ответ 1
Чтобы настроить CNTLM для окон, следуйте этой статье . Для Ubuntu прочитайте мой пост в блоге.
Edit:
В принципе, чтобы использовать CNTLM на любой платформе, вам нужно настроить свое имя пользователя и хэшировать пароль, прежде чем использовать http://127.0.0.1:3128
в качестве прокси-сервера для своего родительского прокси.
-
Отредактируйте конфигурацию и добавьте важную информацию, такую как домен, имя пользователя, пароль и родительский прокси.
-
Создайте хешированный пароль.
Windows cntlm –c cntlm.ini –H
Ubuntu/Linux cntlm -v -H -c /etc/cntlm.conf
-
Удалите текстовый пароль из конфигурации и замените их на сгенерированные пароли.
Чтобы проверить работу:
Windows cntlm –M http://www.google.com
Ubuntu/Linux sudo cntlm -M http://www.google.com/
Более подробные инструкции см. в ссылках выше.
Обновление:
Просто для полноты, я смог настроить и использовать CNTLM в Windows в последнее время. Я столкнулся с проблемой во время процесса синхронизации Kindle для ПК из-за нашего прокси-сервера и установки и настройки CNTLM для Windows исправил эту проблему для меня. Более подробную информацию см. В в моей статье.
Ответ 2
С Ubuntu я не мог заставить прокси-сервер работать как рекламируемый - поэтому следующая команда сделала не работу:
sudo pip --proxy http://web-proxy.mydomain.com install somepackage
Но экспорт переменной среды https_proxy
(обратите внимание на ее https_proxy
not http_proxy
) сделал трюк:
export https_proxy=http://web-proxy.mydomain.com
затем
sudo -E pip install somepackage
Ответ 3
В Windows не забудьте установить
SET HTTPS_PROXY=<proxyHost>:<proxyPort>
что мне нужно было установить для
pip install pep8
Ответ 4
Я не работал со мной. Я использовал https для работы:
pip install --proxy=https://[email protected]:port somepackage
Чтобы обновить, добавьте -U.
Ответ 5
Вы можете продолжать использовать pip поверх HTTPS, добавив корневой сертификат корпорации в файл cacert.pem в папке site-packages/pip. Затем настройте pip для использования вашего прокси, добавив следующие строки в ~/pip/pip.conf(или ~\pip\pip.ini, если вы в Windows):
[global]
proxy = [user:[email protected]]proxy.server:port
Что это. Нет необходимости использовать сторонние пакеты или отказаться от HTTPS (конечно, ваш сетевой администратор все равно может видеть, что вы делаете).
Ответ 6
для окон; установите прокси в командной строке как
set HTTP_PROXY=domain\username:[email protected]:myproxyport
Пример :
set http_proxy=IND\namit.kewat:[email protected]:8880
Ответ 7
Это сработало для меня (в Windows через CMD):
pip install --proxy proxyserver:port requests
Ответ 8
$ pip --proxy http://proxy-host:proxy-port install packagename
Это то, что сработало для меня
Ответ 9
В нашей политике безопасности я не могу использовать https с pypi, SSL-проверка перезаписывает сертификаты, она нарушает встроенную защиту протокола для www.python.org. Человек посередине является администратором сети.
Итак Мне нужно использовать простой http. Для этого мне нужно переопределить системный прокси, а также pypi по умолчанию:
bin/pip install --proxy=squidproxy:3128 -i http://www.python.org/pypi --upgrade "SQLAlchemy>=0.7.10"
Ответ 10
В Windows 7:
pip install --proxy DOMAIN\user:[email protected]:port package
то есть:.
pip install --proxy BR\neo:[email protected]:8080 virtualenv
Ответ 11
Откройте командную строку 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
Ответ 12
Телефон как мобильная точка доступа/USB-модем
Если у меня есть много проблем с поиском пути через корпоративный прокси-сервер, я подключаюсь к сети через мой телефон (беспроводная точка доступа, если у меня есть Wi-Fi, USB-кабель, если нет) и быстро выполните pip install
.
Возможно, он не работает для всех настроек, но должен заставить большинство людей быть в порядке.
Ответ 13
В Ubuntu 14.04 LTS
sudo pip --proxy http://PROXYDOM:PROXYPORT install package
Приветствия
Ответ 14
У меня была такая же проблема: за корпоративным прокси с auth на работе я не мог работать с протоколом, а также с Sublime Text 2 (ну, он работал с пользовательской настройкой моих настроек прокси-сервера).
Для pip (и я попробую сделать это на git), я решил установить его прокси-сервер cntlm.
Это было очень просто настроить:
- Изменить cntlm.ini
- Отредактируйте поля "Username", "Domain", "Password"
- Добавьте строку "Прокси" с настройками прокси-сервера:
server:port
- Убедитесь, что строка "NoProxy" объединяет "localhost" (например, по умолчанию)
- Обратите внимание на порт по умолчанию: 3128
- Сохраните и это.
Чтобы проверить, что работает, просто запустите новый инструмент командной строки и попробуйте:
pip install django --proxy=localhost:3128
Это сработало для меня.
Надеюсь, это поможет вам.
Ответ 15
Установите переменную invironment в Дополнительные параметры системы. В командной строке он должен вести себя так:
C:\Windows\system32> echo% http_proxy%
Http://имя пользователя: passowrd @прокси: порт
C:\Windows\system32> echo% https_proxy%
Http://имя пользователя: пароль @прокси: порт
Позже, просто pip install whatEver
должно работать.
Ответ 16
если вы хотите обновить pip через прокси, можете использовать (например, в Windows):
python -m pip --proxy http://proxy_user:[email protected]_hostname:proxy_port insta
ll --upgrade pip
Ответ 17
Я мог бы добиться этого, запустив:
pip install --proxy=http://user:[email protected]:3128 package==version
Я использую Python 3.7.3 внутри корпоративного прокси.
Ответ 18
Для пользователей Windows: если вы хотите установить Flask-MongoAlchemy, используйте следующий код
pip install Flask-MongoAlchemy --proxy="http://example.com:port"**
Ответ 19
Как просто делать это локально? Скорее всего, вы можете загрузиться с источника https через ваш браузер.
- Загрузите файл модуля (mysql-connector-python-2.0.3.zip/gz...
и т.д).
-
Извлеките его и перейдите в извлеченный каталог, где setup.py находится и вызовите:
C:\mysql-connector-python-2.0.3>python.exe setup.py install
Ответ 20
В 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
и на самом деле я никогда не встречал случая, когда он не работал. Для некоторых систем вам нужно быть root (sudo недостаточно).
Ответ 21
Предупреждение. В команде "поиск пика" есть что-то очень плохое.
Команда поиска не использует параметр прокси-сервера независимо от способа его передачи.
Я пытался выяснить проблему, только пытаясь выполнить команду "поиск", и нашел этот пост с подробным объяснением этой ошибки: https://github.com/pypa/pip/issues/1104
Я могу подтвердить, что ошибка остается с пиком 1.5.6 на Debian 8 с помощью python 2.7.9.
Команда "pip install" работает как шарм.
Ответ 22
Я получил ошибку:
[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
ошибка не сообщает вам.
Ответ 23
Я тоже не специалист в этом, но я сделал это, установив переменную 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 в папке моих пользователей.
P.S. - Я использую Ubuntu 16.04.
Ответ 24
Установите следующую переменную среды: export PIP_PROXY=http://web-proxy.mydomain.com
Ответ 25
Если вы используете 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 - это порт.
Ответ 26
Если вы подключаетесь к Интернету через прокси-сервер, могут возникнуть проблемы с запуском некоторых команд.
Задайте переменные среды для конфигурации прокси в командной строке следующим образом:
set http_proxy=http://username:pas[email protected]:proxyport
set https_proxy=https://username:[email protected]:proxyport
Ответ 27
Это то, что работает для меня:
pip --proxy proxy url:port command package
Ответ 28
Я решил проблему с 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 г.)
Ответ 29
для окон перейдите в C: /ProgramData/pip/pip.ini и установите
[Глобальный]
proxy = http://YouKnowTheRest
с вашими данными прокси. Это постоянно настраивает прокси для pip.
Ответ 30
Более простой подход может быть следующим:
- Создайте папку с именем "pip" в своем каталоге
$HOME
.
- Создайте файл с именем "pip.ini" (Windows) или "pip.conf" (Linux) в каталоге
создан на шаге 1
Копировать и вставьте следующие строки под pip.ini/pip.conf:
[global]
trusted-host = pypi.python.org
pypi.org
files.pythonhosted.org