Вопрос или проблема
Попробовал установить selenium через pip, но всё время возникают одни и те же ошибки, и дело не только в selenium, а в любом пакете. Я думаю, что это может быть проблема с брандмауэром, потому что я пытаюсь установить это на рабочей станции в своей компании. Трудно проверить, потому что у меня нет опыта работы с брандмауэрами, и все поиски по коду ошибки специфичны для определенных пакетов или программ / скриптов, которые пытаются написать программисты. Нужен способ решения или хотя бы причина, почему. Я приложил журнал и команду DOS с выводом ниже. Похоже, он не может найти пакет, но я сам перешёл по URL, где он ищет, и обнаружил его нормально. Однако pip сам не может это сделать.
DOS:
C:\Users\kcalica\Desktop>pip install selenium Загружается/распаковывается selenium Не удалось получить базовый URL индекса https://pypi.python.org/simple/ Не удалось найти загрузки, которые удовлетворяют требованиям selenium Очистка… Для selenium не найдено ни одной дистрибуции Сохранение журнала отладки для сбоя в C:\Users\kcalica\pip\pip.log
C:\Users\kcalica\Desktop>
pip.log:
(только часть из него)
C:\Python34\Scripts\pip запущен 06/16/14 14:32:01 Загружается/распаковывается selenium Получение страницы https://pypi.python.org/simple/selenium/ Не удалось получить URL://pypi.python.org/simple/selenium/: ошибка соединения:… [WinError 10054] Существующее соединение было принудительно закрыто удалённым хостом)
Извините, забыл ответить на это, как только решил вопрос. Да, это была блокировка на брандмауэре, который был у моей компании. Я только что поговорил с ИТ-поддержкой, и он открыл доступ на ограниченное время. Если у вас возникла эта проблема, поговорите с вашим отделом ИТ или проверьте настройки вашего брандмауэра.
Ответ или решение
Решение проблемы с установкой пакетов Python через pip при ошибке WinError 10054
Ошибка WinError 10054, которую вы встречаете, связана с невозможностью pip получить доступ к онлайн-репозиториям для загрузки нужных пакетов, таких как Selenium. Это может быть вызвано несколькими факторами, однако, основываясь на вашем описании, скорее всего, это связано с конфигурацией сети вашей компании.
Причины возникновения ошибки WinError 10054
Наиболее вероятная причина этого сообщения, как вы и предположили, — проблемы с брандмауэром. Брандмауэр вашей компании может блокировать исходящие соединения к хостам, используемым pip для загрузки пакетов. Это часто встречается в корпоративных сетях, где безопасность является приоритетом. Давайте подробнее рассмотрим возможные шаги для диагностики и решения проблемы.
Пошаговая диагностика и решение
-
Проверка подключения к интернету:
- Убедитесь, что вы можете получить доступ к интернету через браузер. Попробуйте открыть URL-адреса, с которых pip пытается загрузить пакеты, например,
https://pypi.python.org/simple/
иhttps://pypi.org/simple/
.
- Убедитесь, что вы можете получить доступ к интернету через браузер. Попробуйте открыть URL-адреса, с которых pip пытается загрузить пакеты, например,
-
Контроль доступа брандмауэра:
- Обратитесь в вашу IT-службу и уточните, есть ли какие-либо ограничения на исходящие соединения на вашем рабочем месте. Брандмауэр может блокировать доступ к пирамидам Python или другим интернет-ресурсам, необходимым для работы pip.
-
Запуск pip с параметром -v (verbose):
- Выполните команду
pip install selenium -v
в терминале, чтобы получить более детализированный вывод. Это поможет анализировать, на каком этапе происходит сбой и какие адреса pip пытается достичь.
- Выполните команду
-
Использование прокси-сервера:
- Если ваша организация использует прокси-сервер для подключения к интернету, возможно, вам потребуется настроить pip для работы через этот прокси. Это можно сделать с помощью следующей команды:
pip install --proxy=http://[username:password@]proxy.server:port selenium
- Замените
proxy.server
иport
на актуальные значения. Если требуется аутентификация, используйтеusername
иpassword
соответствующим образом.
- Если ваша организация использует прокси-сервер для подключения к интернету, возможно, вам потребуется настроить pip для работы через этот прокси. Это можно сделать с помощью следующей команды:
-
Проверка версии Python и pip:
- Убедитесь, что у вас установлены последние версии Python и pip. Команды для их обновления:
python -m pip install --upgrade pip
- Убедитесь, что у вас установлены последние версии Python и pip. Команды для их обновления:
-
Временное изменение настроек брандмауэра:
- В некоторых случаях может помочь временное отключение брандмауэра (что необходимо делать только с разрешения вашей IT-службы) для проверки, решает ли это проблему.
Заключение
Ошибка WinError 10054 является индикатором проблем с сетевым соединением, и с большей вероятностью связана с ограничениями безопасности на уровне вашей компании. Следуя указанным рекомендациям, вы сможете диагностировать и, возможно, устранить эту проблему. В любом случае, всегда лучше обратиться за помощью к специалистам по IT, которые смогут предоставить наилучшие рекомендации исходя из специфики вашей корпоративной сети.