69 votes

Comment définir un proxy HTTP en Python 2.7 ?

Je tente d'exécuter un script qui installe pip : get-pip.py et je rencontre un délai de connexion en raison de mon réseau étant derrière un proxy HTTP. Y a-t-il un moyen pour moi de configurer un proxy HTTP dans mon installation Python 2.7 pour pouvoir installer ce que j'essaie d'installer ?

Note : Je suis sur Windows. Ci-dessous l'erreur que je rencontre :

C:\SetupFiles>python get-pip.py
Downloading/unpacking pip
  Impossible de récupérer l'URL de base de l'index http://pypi.python.org/simple/
  Impossible de trouver des téléchargements satisfaisant l'exigence de pip
Aucune distribution trouvée pour pip

132voto

Ben Burns Points 4058

Il semble que get-pip.py a été mis à jour pour utiliser les variables d'environnement http_proxy et https_proxy.

Windows:

set http_proxy=http://proxy.myproxy.com
set https_proxy=https://proxy.myproxy.com
python get-pip.py

Linux/OS X:

export http_proxy=http://proxy.myproxy.com
export https_proxy=https://proxy.myproxy.com
sudo -E python get-pip.py

Cependant, si cela ne fonctionne toujours pas pour vous, vous pouvez toujours installer pip à travers un proxy en utilisant setuptools' easy_install en définissant les mêmes variables d'environnement.

Windows:

set http_proxy=http://proxy.myproxy.com
set https_proxy=https://proxy.myproxy.com
easy_install pip

Linux/OS X:

export http_proxy=http://proxy.myproxy.com
export https_proxy=https://proxy.myproxy.com
sudo -E easy_install pip

Ensuite une fois installé, utilisez:

pip install --proxy="utilisateur:motdepasse@serveur:port" nomdupackage

De la page man de pip:

--proxy
Indique à pip d'utiliser un serveur proxy pour accéder aux sites. Cela peut être spécifié en utilisant la notation "utilisateur:motdepasse@proxy.serveur:port". Si le mot de passe est omis, pip demandera pour celui-ci.

9voto

eugenevd Points 165

Sur mon réseau, juste en définissant http_proxy ne fonctionnait pas pour moi. Les points suivants étaient pertinents.

1 Définir http_proxy pour votre utilisateur ne sera pas préservé lorsque vous exécutez sudo - pour le préserver, faites :

sudo -E votrecommande

J'ai réussi à faire fonctionner mon installation en installant d'abord le proxy local cntlm. Les instructions ici sont succinctes : http://www.leg.uct.ac.za/howtos/use-isa-proxies

Au lieu du numéro d'étudiant, vous mettriez votre nom d'utilisateur de domaine

2 Pour utiliser le proxy local cntlm, exécutez :

pip install --proxy localhost:3128 pygments

4voto

Adrian W Points 146

Vous pouvez installer pip (ou tout autre package) avec easy_install presque comme décrit dans la première réponse. Cependant, vous aurez également besoin d'un proxy HTTPS. La séquence complète de commandes est :

set http_proxy=http://proxy.myproxy.com
set https_proxy=http://proxy.myproxy.com
easy_install pip

Vous pouvez également ajouter un port au proxy, tel que http{s}_proxy=http://proxy.myproxy.com:8080

1voto

David C Points 916

Vous pouvez essayer de télécharger les binaires Windows pour pip depuis ici: http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip.

Pour utiliser pip pour télécharger d'autres modules, consultez la réponse de @Ben Burn.

1voto

sastorsl Points 180

Pour installer pip avec get-pip.py derrière un proxy, j'ai suivi les étapes ci-dessous. Mon serveur était même derrière un serveur intermédiaire.

Depuis le serveur intermédiaire :

ssh -R 18080:serveur-proxy:8080 mon-serveur-python

Sur le "serveur-python"

export https_proxy=https://localhost:18080 ; export http_proxy=http://localhost:18080 ; export ftp_proxy=$http_proxy
python get-pip.py

Succès.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X