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

Red Hat + pip + virtualenv + proxy = Ошибка

У меня проблема: мой корпоративный прокси убивает каждую установку pip. export http_proxy= не работает: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', error('Tunnel connection failed: 407 Proxy Authentication Required',))

И pip install --proxy=... --trusted-host=... тоже не работает. Только если я использую его вместе, я могу установить что-нибудь из pip.

И это в ОС. Когда я использую virtualenv это не работает даже вместе. И я не знаю, что мне делать. Пожалуйста, помогите мне.

Пример, sudo pip install --proxy=... --trusted-host=pypi.python.org --trusted-host=pypi.org --trusted-host=files.pythonhosted.org sentry

Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)",)': /packages/bb/ee/edda27f5f59a98adb2aa1c0c939d7a15cada155eea73f5b56dc0b593deaa/sentry-9.0.0-py27-none-any.whl
Could not install packages due to an EnvironmentError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Max retries exceeded with url: /packages/bb/ee/edda27f5f59a98adb2aa1c0c939d7a15cada155eea73f5b56dc0b593deaa/sentry-9.0.0-py27-none-any.whl (Caused by ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)",))

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

В http_proxy необходимо указать имя пользователя и пароль, например:

http://username:password@proxy.example.com:8080/

Мой корпоративный прокси работает так плохо / неожиданно - он загружается на мидл-сервер, а затем дает мне загрузку. Итак, для конечного пользователя (моего компьютера) загрузка была прервана. И он рушится с исключением ReadTimeoutError

Итак, я увеличиваю тайм-аут и жду - и он устанавливается по мере необходимости.

Вероятно, одновременно происходит несколько вещей:

  1. Ошибка error('Tunnel connection failed: 407 Proxy Authentication Required',) указывает, что вам нужна аутентификация для использования прокси, как объяснено этот ответ.

  2. Помимо установки переменной окружения http_proxy= вам обычно также нужно https_proxy= для указания приложениям использовать прокси-сервер для https-соединений.

  3. При выполнении команд с sudo среда будет очищена, и, скорее всего, переменные среды http_proxy и https_proxy не будут доступны для команды pip.
    Вы можете включить такую ​​строку, как Defaults env_keep = "http_proxy https_proxy ftp_proxy" в начале /etc/sudoers чтобы сохранить эти пользовательские переменные среды.