Решение проблемы с использованием pip за прокси с CNTLM
Быстрый ответ
Чтобы сконфигурировать pip для работы с прокси CNTLM, выполните следующие команды:
В Unix Shell:
export http_proxy=http://127.0.0.1:3128 https_proxy=http://127.0.0.1:3128
pip install название_пакета
В командной строке Windows (CMD):
set http_proxy=http://127.0.0.1:3128
set https_proxy=http://127.0.0.1:3128
pip install название_пакета
Не забудьте подставить вместо 127.0.0.1:3128 адрес и порт вашего сервера прокси CNTLM. Это позволит pip использовать прокси сервер для установки пакетов.

Настройка CNTLM и pip
Конфигурация CNTLM
Прежде чем начать использовать pip, убедитесь в активности CNTLM. Обновите файл cntlm.ini, указав ваши данные: домен, имя пользователя и хеш паролей. Корректность настроек можно проверить с помощью команды cntlm -I -M http://google.com на Unix-системах или cntlm.exe -c cntlm.ini -I -M http://google.com на Windows.
Защита данных пользователя
Считайте пароли секретной информацией, оберегайте их и не выставляйте напоказ. Чтобы хранить учетные данные в безопасности, преобразуйте пароли в виде хешей с помощью команды cntlm -H и занесите их в файл cntlm.ini. Если ваша организация требует сертификацию, добавьте корпоративный корневой сертификат в файл cacert.pem.
Работа с переменными окружения
Переменные http_proxy и https_proxy облегчают использование опции --proxy в pip. При выполнении команд с sudo используйте ключ -E для сохранения значений этих переменных.
Настройка pip
Если вы регулярно работаете через прокси-сервер, целесообразнее будет сохранить соответствующие настройки в pip.conf (для Unix) или pip.ini (для Windows):
[global]
proxy = http://127.0.0.1:3128
В этом конфигурационном файле укажите актуальный адрес и порт вашего сервера прокси CNTLM.
Устранение ошибок подключения
Если в процессе устанавливается сообщение об ошибке "Connection to proxy failed", перепроверьте файл cntlm.ini. Если возникают проблемы с SSL, добавьте корпоративный корневой сертификат в cacert.pem.
Обновление пакетов через прокси
Для обновления пакетов используйте команду pip install -U название_пакета, убедившись заранее, что прокси-сервер корректно настроен.
Альтернативы CNTLM
Если вы столкнулись с проблемами при работе с CNTLM, рассмотрите возможность использования альтернатив, таких как файл .netrc или инструкции по настройке на Windows и Ubuntu/Linux.
Визуализация
Вы можете представить работу pip через прокси при помощи CNTLM следующим образом:
Интернет 🌐
|
"🏢 Корпоративный прокси"
|
🛡️ CNTLM – ваш посредник
|
🐍 pip – работает с пакетами через прокси
Или, если вам нагляднее метафора с метро:
| Интернет (надповерхность) | 🚧 Корпоративный прокси (стена) 🚧 | pip (ваша конечная цель) |
|-----------------------------|------------------------------------|------------------------|
| | 🚇 Туннель (CNTLM) | |
Напомним, что CNTLM в данном случае — это ваш секретный путь, позволяющий обойти препятствия.
Профессиональные советы и хитрости
Секретность учетных данных
Используйте хеш-коды паролей для надежной защиты своих учетных данных.
Правильное использование прокси
Внимательно проверяйте синтаксис URI прокси, чтобы избежать ошибок.
Регулярное тестирование настроек
Не допускайте сбоев — периодически проверяйте настройки CNTLM.
Обновление pip
Своевременное обновление pip гарантирует его безотказную работу. Используйте ключ -U для обновления.
Отдельные прокси для разных сред
Если вы управляете несколькими проектами, настройте прокси для каждой из виртуальных сред по отдельности.


