На моем компьютере Windows работает через прокси-сервер на сервере Windows (с использованием активного каталога), и я не могу понять, как пройти через это pip
(в python3). Я пробовал использовать --proxy
, но все еще просто таймауты. Я также пробовал установить длительный тайм-аут (60 секунд), но это не имело значения. Мои настройки прокси верны, и я сравнил их с теми, которые я успешно использую в TortoiseHG, чтобы убедиться.
Есть ли какие-нибудь другие уловки, о которых я могу попробовать, или есть какие-то ограничения в pip
отношении прокси-серверов Windows?
Обновление: мои неудачные попытки включали поиск pypi. Я только что попытался установить что-то, и это сработало. Однако поиск по-прежнему не работает. Указывает ли это на ошибку pip
или они работают по-другому?
источник
Мне потребовалось несколько часов, чтобы разобраться в этом, но я наконец заставил его работать с использованием CNTLM, а затем заставил его работать только с файлом конфигурации pip. Вот как я работал с файлом конфигурации pip ...
Решение:
1. В Windows перейдите в каталог своего профиля пользователя (например, C: \ Users \ Sync) и создайте папку с именем « pip ».
2. Создайте файл с именем « pip.ini » в этом каталоге (например, C: \ Users \ Sync \ pip \ pip.ini) и введите в него следующее:
[global] trusted-host = pypi.python.org pypi.org files.pythonhosted.org proxy = http://[domain name]%5C[username]:[password]@[proxy address]:[proxy port]
Замените [доменное имя] , [имя пользователя] , [пароль] , [адрес прокси] и [порт прокси] своей собственной информацией.
Обратите внимание, если ваше [доменное имя] , [имя пользователя] или [пароль] имеет специальные символы, вы должны процент-кодирование | закодировать их.
3. На этом этапе я смог без проблем запустить « pip install ».
Надеюсь, это сработает и для других!
PS: Это может представлять угрозу безопасности, поскольку ваш пароль хранится в виде обычного текста. Если это проблема, рассмотрите возможность настройки CNTLM с помощью этой статьи (позволяет использовать хешированный пароль вместо обычного текста). Затем установите
proxy = 127.0.0.1:3128
в упомянутом выше файле "pip.ini".источник
PIP_CONFIG_FILE
переменную среды так, чтобы она указывала на файлВот как я это настроил:
Экспортируйте настройки прокси:
set http_proxy=http://username:password@proxyAddress:port
set https_proxy=https://username:password@proxyAddress:port
Установите пакет, который хотите установить:
pip install PackageName
Например:
источник
--proxy
аргумент просто не имел его вообще, но стандартный подход env var сработал в первый раз. Для записи, мы также установили,no_proxy
чтобы другие внутренние запросы не выходили через прокси.cygwin
или ,cmder
а затем сделать это в Linux так:export http_proxy=<proxy>
и ,export https_proxy=<proxy>
а затем просто сделатьpip install <package>
--proxy
флаг командной строки никогда не работал. Windows 10.Я столкнулся с той же проблемой в Windows 7. Мне удалось заставить ее работать, создав папку «pip» с файлом «pip.ini» внутри. Я поместил эту папку в "C: \ Users \ {my.username} \ AppData \ Roaming", потому что согласно документации Python:
В файле pip.ini у меня только:
[global] proxy = [proxy address]:[proxy port]
Так что нет логина: пароля. И он работает нормально.
источник
У меня была аналогичная проблема, и я обнаружил, что моя компания использует проверку подлинности прокси NTLM. Если вы видите эту ошибку в своем pip.log, вероятно, проблема заключается в следующем:
NTLMaps можно использовать для взаимодействия с прокси-сервером NTLM, став промежуточным прокси.
Загрузите NTLMAP, обновите включенный server.cfg, запустите файл main.py, затем укажите для параметра прокси pip значение 127.0.0.1 :.
Мне также нужно было изменить эти значения по умолчанию в
server.cfg
файле на:LM_PART:1 NT_PART:1 # Highly experimental option. See research.txt for details. # LM - 06820000 # NT - 05820000 # LM + NT - NTLM_FLAGS: 07820000
http://ntlmaps.sourceforge.net/
источник
У меня была такая же проблема в удаленной среде Windows. Я пробовал много решений, найденных здесь или в других подобных сообщениях, но ничего не сработало. Наконец, решение было довольно простым. Мне пришлось установить
NO_PROXY
с помощью cmd:set NO_PROXY="<domain>\<username>:<password>@<host>:<port>" pip install <packagename>
Вы должны использовать двойные кавычки и использовать
NO_PROXY
верхний регистр. Вы также можете добавитьNO_PROXY
в качестве переменной среды вместо того, чтобы устанавливать ее каждый раз при использовании консоли.Надеюсь, это поможет, если работает любое другое решение, размещенное здесь.
источник
Вы также можете столкнуться с проблемами с сертификатами от вашего прокси. Здесь есть множество ответов о том, как получить сертификат вашего прокси.
На хосте Windows, чтобы позволить pip очищать ваш прокси-сервер, вы можете установить переменную среды, такую как:
PIP_CERT=C:\path\to\certificate\file\in\pem\form\myproxycert.pem
Вы также можете использовать
--cert
аргументPIP
с тем же результатом.источник
установить cntlm: Cntlm: Fast NTLM Authentication Proxy на C
Конфиг cntlm.ini:
Начни это:
Теперь в cmd.exe:
Collecting pip Downloading https://files.pythonhosted. 44c8a6e917c1820365cbebcb6a8974d1cd045ab4/ 100% |███████████████████████████████ Installing collected packages: pip Found existing installation: pip 9.0.1 Uninstalling pip-9.0.1: Successfully uninstalled pip-9.0.1 Successfully installed pip-10.0.1
работает!
Вы также можете скрыть пароль: https://stormpoopersmith.com/2012/03/20/using-applications-behind-a-corporate-proxy/
источник
такая же проблема с решениями Windows10 и выше не работает для меня.
используйте инструмент консоли эмулятора, например,
cygwin
а затем сделайте это по умолчанию в Linux:и все работает нормально.
источник
Попробуйте закодировать обратную косую черту между доменом и пользователем
источник
Для меня проблема заключалась в среде conda. Скорее всего, он использовал команду pip из среды conda («где pip» указывал на среду conda). Настройка прокси-сервера через --proxy или установка http_proxy не помогли.
Вместо этого помогло простое открытие нового CMD и выполнение там «pip install».
источник