С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/168: Рейтинг темы: голосов - 168, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 22.02.2015
Сообщений: 45
1

Установка модулей через прокси сервер на windows

30.08.2017, 12:39. Показов 31694. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
На рабочем компьютере установил python3.6. Пытаюсь установить модуль requests через pip. Выход в интернет в нашей организации осуществляется через прокси. Вид прокси имеет следующий: proxy.name.ru:9090. В командной строке вводил следующие команды:
c:\Users\myname\AppData\Local\Programs\Python\Python36-32\Scripts\pip.exe install requests
c:\Users\myname\AppData\Local\Programs\Python\Python36-32\Scripts\pip.exe install --proxy="proxy.name.ru:9090" requests
c:\Users\myname\AppData\Local\Programs\Python\Python36-32\Scripts\pip.exe install --proxy proxy.name.ru:9090 requests
c:\Users\myname\AppData\Local\Programs\Python\Python36-32\Scripts\pip.exe install --proxy="http://proxy.name.ru:9090" requests
c:\Users\myname\AppData\Local\Programs\Python\Python36-32\Scripts\pip.exe install --proxy http://proxy.name.ru:9090 requests
c:\Users\myname\AppData\Local\Programs\Python\Python36-32\Scripts\pip.exe install --proxy="https://proxy.name.ru:9090" requests
c:\Users\myname\AppData\Local\Programs\Python\Python36-32\Scripts\pip.exe install --proxy https://proxy.name.ru:9090 requests

ничего не работает, на всякий запрос в качестве ответа я получаю:
Collecting requests
Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 authenticationrequired',))': /simple/requests/
Retrying (Retry(total=3, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 authenticationrequired',))': /simple/requests/
Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 authenticationrequired',))': /simple/requests/
Retrying (Retry(total=1, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 authenticationrequired',))': /simple/requests/
Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 authenticationrequired',))': /simple/requests/
Could not find a version that satisfies the requirement requests (from versions: )
No matching distribution found for requests

Помогите решить сложившуюся задачу.
Заранее спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.08.2017, 12:39
Ответы с готовыми решениями:

Установка библиотеки через прокси сервер
Всем привет. Начал изучать python и столкнулся с такой проблемой: Как установить библиотеку с...

Подскажите http прокси сервер под windows с возможностью сохранения проходящего через него трафика
подскажите пожалуйста http прокси сервер под windows с возможностью сохранения проходящего через...

Прокси-сервер на nginx периодически редиректит на домен, который открываю через прокси
Добрый день! Есть обычный сайт (пусть будет domain.ru) , а есть прокси-сервер на vds который...

При передаче post запроса через прокси сервер в ответ приходят ошибки с прокси сервера
При передаче post запроса через прокси сервер в ответ прилетают ошибки с прокси сервера:...

Установка прокси сервер (SQUID) на виртуальной машине (VMware Workstation)
Всем доброго времени суток. Нужна Ваша помощь. Ваши советы. Надо поднять прокси сервер на...

9
Эксперт Python
5435 / 3858 / 1215
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
30.08.2017, 17:44 2
407 authenticationrequired - ваш прокси требует аутентификацию. То есть строка подключения должна включать логин и пароль:user:passwd@proxy.server:port
0
0 / 0 / 0
Регистрация: 22.02.2015
Сообщений: 45
31.08.2017, 11:59  [ТС] 3
Цитата Сообщение от Garry Galler Посмотреть сообщение
407 authenticationrequired - ваш прокси требует аутентификацию. То есть строка подключения должна включать логин и пароль:user:passwd@proxy.server:port
А каким образом могу я узнать логин и пароль? В данной области я не силен, прошу меня простить за глупый вопрос.

Добавлено через 11 часов 2 минуты
Цитата Сообщение от Garry Galler Посмотреть сообщение
407 authenticationrequired - ваш прокси требует аутентификацию. То есть строка подключения должна включать логин и пароль:user:passwd@proxy.server:port
Кроме того, если изменить адрес и ввести заведомо неверный, то сообщение об ошибке аналогично показанному ранее. Т.о. это сообщение может появлятся и при других условиях.
0
Эксперт Python
5435 / 3858 / 1215
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
31.08.2017, 13:54 4
Цитата Сообщение от Pirpokar1 Посмотреть сообщение
А каким образом могу я узнать логин и пароль?
У сисадминистратора вашей сети, вестимо. Кто-то же вам настроил выход через прокси.

Цитата Сообщение от Pirpokar1 Посмотреть сообщение
если изменить адрес и ввести заведомо неверный, то сообщение об ошибке аналогично показанному ранее
Не знаю как у вас - у меня при указании несуществующего адреса - ошибка получения адреса: '[Errno 11004] getaddrinfo failed'.

Добавлено через 12 минут
В конечном итоге схема подключения с аутентификацией должна иметь вид:
--proxy http://myusr:mypswd@server:port
или
--proxy https://myusr:mypswd@server:port
0
0 / 0 / 0
Регистрация: 22.02.2015
Сообщений: 45
31.08.2017, 15:49  [ТС] 5
Цитата Сообщение от Garry Galler Посмотреть сообщение
У сисадминистратора вашей сети, вестимо. Кто-то же вам настроил выход через прокси.
К сожалению, администратор не смог мне помочь. С таким вопросом он также столкнулся впервые. Настройки выхода через прокси я наблюдал только в настройках браузера. Там если зайти в настройку сети - можно увидеть адрес прокси сервера вида proxy.name.ru и порт 9090 имени и пароля наблюдать там не удалось. И этих настроек браузеру достаточно для выхода в интернет.

Скажите, а могу ли я установить необходимые пакеты на домашнем компьютере, а потом, каким-то образом, перенести все установленные библиотеки на рабочий компьютер?
0
Эксперт Python
5435 / 3858 / 1215
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
31.08.2017, 16:24 6
Цитата Сообщение от Pirpokar1 Посмотреть сообщение
И этих настроек браузеру достаточно для выхода в интернет.
Тут я вам ничего не подскажу. Значит включена настройка Integrated Windows Authentication и браузеру явно пароль и логин для прокси задавать не нужно. Почему с pip тогда не работает - непонятно и мне.

Цитата Сообщение от Pirpokar1 Посмотреть сообщение
могу ли я установить необходимые пакеты на домашнем компьютере, а потом, каким-то образом, перенести все установленные библиотеки на рабочий компьютер
Естественно:
Python
1
pip install путь\модуль_в_виде_whl_архива.whl
Пакет в виде whl скачиваете с PyPi - главного репозитория python модулей.
0
0 / 0 / 0
Регистрация: 22.02.2015
Сообщений: 45
01.09.2017, 15:30  [ТС] 7
Цитата Сообщение от Garry Galler Посмотреть сообщение
Python
1
pip install путь\модуль_в_виде_whl_архива.whl
Пакет в виде whl скачиваете с PyPi - главного репозитория python модулей.

Скачал по с PyPi файл requests-2.18.4-py2.py3-none-any.whl. Выполнил команду:
pip install f:\Download\requests-2.18.4-py2.py3-none-any.whl
Результат:
Processing f:\download\requests-2.18.4-py2.py3-none-any.whl
Collecting idna<2.7,>=2.5 (from requests==2.18.4)
Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 authenticationrequired',))': /simple/idna/
Retrying (Retry(total=3, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 authenticationrequired',))': /simple/idna/
Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 authenticationrequired',))': /simple/idna/
Retrying (Retry(total=1, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 authenticationrequired',))': /simple/idna/
Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 authenticationrequired',))': /simple/idna/
Could not find a version that satisfies the requirement idna<2.7,>=2.5 (from requests==2.18.4) (from versions: )
No matching distribution found for idna<2.7,>=2.5 (from requests==2.18.4)

Видимо этот пакет зависит от другого, pip пытается найти его в сети, но не может пройти через прокси. Неужели мне нужно скачивать отдельно каждый whl для всех зависимостей? А если у зависимостей есть другие зависимости? И где найти список всех зависимостей?


Может лучше будет на компьютере, где все ок с интернетом и pip, скачать все необходимые обновления. Далее копировать папку с python и всеми установленными модулями на рабочую машину.
0
Эксперт Python
5435 / 3858 / 1215
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
01.09.2017, 17:04 8
Лучший ответ Сообщение было отмечено Pirpokar1 как решение

Решение

Цитата Сообщение от Pirpokar1 Посмотреть сообщение
Неужели мне нужно скачивать отдельно каждый whl для всех зависимостей? А если у зависимостей есть другие зависимости? И где найти список всех зависимостей?
Да, все непросто :-) Однако выход из положения описан в документации: есть команды pip download и pip install --no-index --find-links специально для локальной установки модулей, загруженных на другом компе.

Реализация:
Создаете на домашнем компе каталог (с любым именем - путь будет packages) и туда кладете батник для загрузки:
Windows Batch file
1
2
3
4
cd /d %~dp0
md tmp
pip download --dest tmp requests
pause
Запускаете его на домашнем компе.
Он скачает в созданный им внутри packages подкаталог tmp модуль requests и все его зависимости.
Затем создаете в этой же папке packages еще один батник:
Windows Batch file
1
2
pip install --no-index --find-links=%~dp0\tmp requests
pause
Копируете папку packages на рабочий комп и запускаете второй батник. Он установит requests и его зависимости из загруженных модулей в каталоге tmp и не будет пытаться лезть в интернет.
0
0 / 0 / 0
Регистрация: 22.02.2015
Сообщений: 45
11.09.2017, 15:25  [ТС] 9
Цитата Сообщение от Garry Galler Посмотреть сообщение
Да, все непросто :-) Однако выход из положения описан в документации: есть команды pip download и pip install --no-index --find-links специально для локальной установки модулей, загруженных на другом компе.

Реализация:
Создаете на домашнем компе каталог (с любым именем - путь будет packages) и туда кладете батник для загрузки:
Windows Batch file
1
2
3
4
cd /d %~dp0
md tmp
pip download --dest tmp requests
pause
Запускаете его на домашнем компе.
Он скачает в созданный им внутри packages подкаталог tmp модуль requests и все его зависимости.
Затем создаете в этой же папке packages еще один батник:
Windows Batch file
1
2
pip install --no-index --find-links=%~dp0\tmp requests
pause
Копируете папку packages на рабочий комп и запускаете второй батник. Он установит requests и его зависимости из загруженных модулей в каталоге tmp и не будет пытаться лезть в интернет.

Спасибо большое, все работает, и работает отлично. Это именно то, что было мне нужно.

Добавлено через 18 минут
Я поговорил еще с администратором нашей сети, он мне сказал, что для того чтобы получить доступ к http запросам через наш прокси сервер мне не нужеен логин и пароль, аутентификация производится через eToken (аппаратный usb-ключ), который есть в том числе и у меня.

поставив модуль requests - я попытался сделать запрос некоторой страницы как на примере ниже:
Python
1
2
3
4
5
6
7
8
9
10
import requests
 
proxies = {
    'http': 'http://proxy.name.ru:9090',
    'https': 'http://proxy.name.ru:9090',
}
 
s = requests.Session()
r = s.get("http://yandex.ru", proxies=proxies)
print(r.text)
В ответ получил страницу следующего содержания:

Authentication Required
You must be authenticated to access this URL.
URL:
Company Acceptable Use Policy
This is an optional acceptable use disclaimer that appears on every page. You may change the wording or remove this section entirely in index.html.
For assistance, please contact your system administrator.
generated 2017-09-10 10:54:00 by McAfee Web Gateway
python-requests/2.18.4

Однако, яндекс в браузере на том же компьютере открывается вполне успешно. Может нужно каким-то образом использовать eToken?
0
Эксперт Python
5435 / 3858 / 1215
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
11.09.2017, 17:02 10
Цитата Сообщение от Pirpokar1 Посмотреть сообщение
каким-то образом использовать eToken
Я слабо представляю себе аутентификацию по электронному токену - попробуйте использовать отладчик (средства разработчика: Ctrl-Shift-I) браузера, чтобы там подсмотреть какие заголовки и данные отправляет браузер в своих запросах.

Добавлено через 4 минуты
Может быть глянуть еще настройки браузера в разделе proxy. Хотя, не знаю будет ли там что-то интересное...
0
11.09.2017, 17:02
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.09.2017, 17:02
Помогаю со студенческими работами здесь

Как заставить nginx ходить на урл через другой через прокси сервер?
Ситуация следующая. Сервер_1 - nginx, его надо настроить Сервер_2 - прокси сервер, прокинут...

Настроить прокси-сервер на компе чтобы он авторизацию проводил не через текущего пользователя, а через заданного
Теперь сама задача, заключается в следующем: комп подключен к доменной сети. как настроить...

Установка из портов через прокси
Использую интернет через прокси-сервер (W.X.Y.Z:Port) При попытке установить программу пишет ...

На сервер через прокси
в общем так. надеюсь поймете, объясняю как могу. веб сервер с сайтом находится в локальной сети,...

Windows 8 и Прокси-сервер
Здравствуйте ВСЕМ проблема вот в чем 8-кои пользуюсь давно но эту проблему решить так и не смог ...

Установка .Net Framework через прокси
На работе стоит комп, выход в интернет осуществляется через прокси. Нужно для работы Корела...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Администрирован­­­­ие Git, продвинутые техники работы с Git
InfoMaster 11.01.2025
Основы управления репозиторием Эффективное управление Git-репозиторием требует глубокого понимания механизмов контроля доступа и инструментов администрирования. Рассмотрим ключевые аспекты. . .
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru