Как заставить pip работать за прокси-сервером
Я пытаюсь использовать python package manager для установки пакета и его зависимостей из Интернета. Однако я занимаюсь прокси-сервером в моем колледже и уже установил переменную среды http_proxy
. Но когда я пытаюсь установить пакет следующим образом:
pip install TwitterApi
Я получаю эту ошибку в файле журнала:
Getting page http://pypi.python.org/simple/TwitterApi
Could not fetch URL http://pypi.python.org/simple/TwitterApi: <urlopen error [Errno 111] Connection refused>
Will skip URL http://pypi.python.org/simple/TwitterApi when looking for download links for TwitterApi
Getting page http://pypi.python.org/simple/
Could not fetch URL http://pypi.python.org/simple/: <urlopen error [Errno 111] Connection refused>
Я даже попытался настроить свою прокси-переменную явно следующим образом:
pip install --proxy http://user:[email protected]:port TwitterApi
Но я все равно получаю ту же ошибку. Как заставить pip работать за прокси-сервером.
Ответы
Ответ 1
Параметр прокси-сервера pip, согласно pip --help
, в форме scheme://[user:[email protected]]proxy.server:port
Вы должны использовать следующее:
pip install --proxy http://user:[email protected]:port TwitterApi
Кроме того, следует соблюдать HTTP_PROXY
env var.
Обратите внимание, что в более ранних версиях (не удалось отследить изменение кода, извините, но документ был обновлен здесь), вы должен был оставить часть scheme://
для работы, т.е. pip install --proxy user:[email protected]:port
Ответ 2
Как минимум для pip 1.3.1, он отличает переменные среды http_proxy и https_proxy. Убедитесь, что вы определяете оба параметра, поскольку он будет обращаться к индексу PYPI с помощью https.
export https_proxy="http://<proxy.server>:<port>"
pip install TwitterApi
Ответ 3
Старый поток, я знаю, но для будущей ссылки опция -proxy теперь передается с помощью = =
Пример:
$ sudo pip install --proxy=http://yourproxy:yourport package_name
Ответ 4
Сначала попробуйте установить прокси-сервер, используя следующую команду
SET HTTPS_PROXY=http://proxy.***.com:PORT#
Затем попробуйте использовать команду
pip install ModuleName
Ответ 5
хотя бы pip3 также работает без "=", однако вместо "http" вам может понадобиться "https"
Последняя команда, которая работала для меня:
sudo pip3 install --proxy https://{proxy}:{port} {BINARY}
Ответ 6
В Ubuntu вы можете установить прокси-сервер, используя
export http_proxy=http://username:[email protected]:port
export https_proxy=http://username:[email protected]:port
или если у вас есть ошибка использования SOCKS
export all_proxy=http://username:[email protected]:port
Затем запустите pip
sudo -E pip3 install {packageName}
Ответ 7
Если вы используете Windows, вы можете попробовать настроить прокси-сервер в Internet Explorer → Параметры → Подключения → Настройки локальной сети → Прокси-сервер. Это повлияет на систему во всем мире.