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

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

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

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

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

Благодаря!

  • Удалить (или скрыть) разрешения по умолчанию из Django
  • Сортировка части списка на месте
  • Подключение к PostgreSQL с помощью pyodbc
  • py.test - сбой обнаружения теста, когда тесты в разных каталогах называются одинаковыми
  • Загрузка metagraph и контрольных точек в тензорном потоке
  • matplotlib: раскраски линий, зависящие от итерации
  • Pyspark: как преобразовать строки json в столбце dataframe
  • нос, unittest.TestCase и метакласс: автогенерация test_ * методы не обнаружены
  • 20 Solutions collect form web for “Использование pip за прокси-сервером”

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

    Редактировать:

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

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

    2. Создайте хешированный пароль.

      Windows cntlm –c cntlm.ini –H

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

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

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

    Windows cntlm –M http://www.google.com

    Ubuntu / Linux sudo cntlm -M http://www.google.com/

    Более подробные инструкции см. В ссылках выше.

    Обновить:

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

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

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

    Но экспорт https_proxy среды https_proxy (обратите внимание на ее https_proxy не http_proxy ) сделал трюк:

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

    тогда

     sudo -E pip install somepackage 

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

     SET HTTPS_PROXY=<proxyHost>:<proxyPort> 

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

     pip install pep8 

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

     [global] proxy = [user:passwd@]proxy.server:port 

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

    для окон; установите прокси-сервер в командной строке как
    set HTTP_PROXY=domain\username:password@myproxy:myproxyport

    пример:
    set http_proxy=IND\namit.kewat:xl123456@192.168.180.150:8880

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

     pip install --proxy=https://user@mydomain:port somepackage 

    Чтобы обновить, добавьте -U.

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

    pip install –proxy proxyserver: запросы портов

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

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

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

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

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

    Возможно, это не работает для всех настроек, но должно быть у большинства людей.

    В Windows 7:

     pip install --proxy DOMAIN\user:password@proxyaddress:port package 

    то есть:

     pip install --proxy BR\neo:p4ssw0rd@myproxyrocks.com.br:8080 virtualenv 

    В Ubuntu 14.04 LTS

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

    ура

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

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

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

     pip install django --proxy=localhost:3128 

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

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

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

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

    C: \ Windows \ system32> echo% http_proxy%

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

    C: \ Windows \ system32> echo% https_proxy%

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

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

    В 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 недостаточно).

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

     chris@green:~$ 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-прокси, чтобы заставить его работать:

     chris@green:~$ 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... 

    как http://pypi.python.org/simple/ переадресовывает https://pypi.python.org/simple но ошибка pip не говорит вам.

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

     gedit ~/.bashrc & 

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

     export all_proxy="http://xyzw:port" 

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

     source ~/.bashrc 

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

    PS – Я использую Ubuntu 16.04.

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

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

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

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

     pip --proxy proxy url:port command package 

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

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

       C:\mysql-connector-python-2.0.3>python.exe setup.py install 
    Python - лучший язык программирования в мире.