Назад | Перейти на главную страницу

как я могу попросить pip (установщик пакетов python) использовать разные прокси-серверы для разных URL-адресов?

В настоящее время я нахожусь в следующей ситуации: у моей компании есть прокси-сервер для всех внешних сайтов, но все внутренние хосты подключаются только напрямую. Доступ к ним через прокси приведет к ошибке прокси. У нас есть внутренний pypi (добавленный в качестве дополнительного индекса), где мы размещаем наши собственные пакеты python, и, конечно же, мы полагаемся на официальный pypi, а также для официально выпущенных пакетов.

pip, установщик пакета python, учитывает переменную HTTP_PROXY, но проблема в том, что это ситуация «все или ничего», что означает, что либо я не могу подключиться к внутреннему pypi, либо к внешнему.

Браузер обычно обрабатывает это через proxy.pac, но инструмент командной строки этого не делает.

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

pip install смотрит на http://pypi.python.org/simple//

Часто компании создают прокси для http://pypi.python.org/simple поэтому все внутренние сайты могут получить к нему доступ, когда они не подключены к Интернету.

Если вы не можете изменить настройку прокси, вам может быть проще создать клон / зеркало официального сайта репо, чтобы вы могли вытащить любой пакет через локальное зеркало.

Вы можете настроить этот URL в pip.conf. По умолчанию пип смотрит в $HOME/.pip/pip.conf для данных конфигурации.

[global]
extra-index-url = https://my-pypi.mywebsite.com/simple
timeout = 10