Utiliser pip derrière un proxy

j'essaie d'utiliser pip derrière un proxy au travail.

l'Une des réponses de ce post a suggéré d'utiliser CNTLM . Je l'ai installé et configuré par cet autre post , mais l'exécution cntlm.exe -c cntlm.ini -I -M http://google.com a donné l'erreur Connection to proxy failed, bailing out .

j'ai aussi essayé pip install -–proxy=user:pass@localhost:3128 (le port CNTLM par défaut) mais cela a soulevé Cannot fetch index base URL http://pypi.python.org/simple/ . Clairement, quelque chose de neuf avec le proxy.

est-ce que quelqu'un sait comment vérifier de façon plus définitive si CNTLM est bien installé, ou s'il y a une autre façon de contourner tout cela? Je sais que vous pouvez également définir la variable d'environnement http_proxy comme décrit ici mais je ne suis pas sûr de ce que les justificatifs d'identité à mettre en. Ceux de cntlm.ini ?

213
demandé sur Steven Vascellaro 2013-01-04 04:22:17

24 réponses

pour configurer CNTLM pour windows, suivez cet" article . Pour Ubuntu, lire mon billet de blog .

Edit:

fondamentalement, pour utiliser CNTLM dans n'importe quelle plate-forme, vous devez configurer votre nom d'utilisateur et hashé mot de passe, avant d'utiliser http://127.0.0.1:3128 comme un proxy à votre proxy parent.

  1. modifier la configuration et ajouter informations importantes comme nom de domaine, nom d'utilisateur, mot de passe et proxy parent.

  2. génère un mot de passe.

    Windows cntlm –c cntlm.ini –H

    Ubuntu / Linux cntlm -v -H -c /etc/cntlm.conf

  3. supprimez le mot de passe en clair de la configuration et remplacez-le par les mots de passe générés.

pour vérifier si elle fonctionne:

Windows cntlm –M http://www.google.com

Ubuntu / Linux sudo cntlm -M http://www.google.com/

pour des instructions plus détaillées, voir les liens ci-dessus.

mise à jour:

juste pour être complet, j'ai pu configurer et utiliser CNTLM dans Windows récemment. J'ai rencontré un problème pendant le processus de synchronisation de Kindle pour PC en raison de notre mandataire et l'installation et la configuration de CNTLM Pour Windows a corrigé ce problème pour moi. Voir mon article pour plus de détails.

51
répondu Annie Lagang 2014-04-03 07:54:20

avec Ubuntu Je ne pouvais pas obtenir l'option proxy pour fonctionner comme annoncé – donc la commande suivante a fait pas travailler:

sudo pip --proxy http://web-proxy.mydomain.com install somepackage

mais l'exportation de la variable d'environnement https_proxy (notez sa https_proxy et non http_proxy ) a fait l'affaire:

export https_proxy=http://web-proxy.mydomain.com

puis

sudo -E pip install somepackage
219
répondu Sameer Vaidya 2017-04-11 14:04:32

sous Windows n'oubliez pas de définir

SET HTTPS_PROXY=<proxyHost>:<proxyPort>

ce que je devais régler pour

pip install pep8
77
répondu k7sleeper 2013-05-03 10:50:07

Je ne travaillais pas pour moi. J'ai utilisé https pour des travaux:

pip install --proxy=https://user@mydomain:port somepackage

afin de mettre à jour, ajouter-U.

37
répondu Hugo Salvador 2017-11-08 21:55:54

vous pouvez continuer à utiliser pip over HTTPS en ajoutant le certificat root de votre société au cacert.fichier pem dans votre dossier site-packages/pip. Ensuite, configurez pip pour utiliser votre proxy en ajoutant les lignes suivantes à ~/pip/pip.conf (ou ~\pip\pip.ini si vous êtes sous Windows):

[global]
proxy = [user:passwd@]proxy.server:port

C'est ça. Pas besoin d'utiliser des paquets tiers ou d'abandonner HTTPS (bien sûr, votre administrateur réseau peut toujours voir ce que vous faites).

33
répondu djmoch 2014-03-06 15:51:22

cela a fonctionné pour moi (sur Windows via CMD):

pip install --proxy proxyserver:port requests
23
répondu damian1baran 2017-11-08 21:55:14

pour windows; définissez l'invite de commande de votre mandataire comme suit:

set HTTP_PROXY=domain\username:password@myproxy:myproxyport

exemple:

set http_proxy=IND\namit.kewat:xl123456@192.168.180.150:8880

22
répondu namit 2013-01-04 02:46:17

sous notre Politique de sécurité Je ne peux pas utiliser https avec pypi, SSL-inspection rewrites certificats, il casse la sécurité intégrée de pip pour www.python.org. L'homme au milieu est l'administrateur du réseau.

Donc j'ai besoin d'utiliser simplement de l'adresse http . Pour ce faire, j'ai besoin de surcharger le proxy du système ainsi que le PyPI par défaut:

bin/pip install --proxy=squidproxy:3128 -i http://www.python.org/pypi --upgrade "SQLAlchemy>=0.7.10"
11
répondu bbaassssiiee 2013-05-28 09:24:36

téléphone comme hotspot mobile / clé USB

si j'ai beaucoup de mal à trouver un chemin à travers le mandataire de l'entreprise, je me connecte au web par mon téléphone (hotspot sans fil si j'ai wifi, un lien USB si non) et faire un rapide pip install .

pourrait ne pas fonctionner pour toutes les configurations, mais devrait obtenir la plupart des gens par dans une pincée.

10
répondu Tommy O'Dell 2014-01-08 04:15:37

Sous Windows 7:

pip install --proxy DOMAIN\user:password@proxyaddress:port package

c'est à dire:

pip install --proxy BR\neo:p4ssw0rd@myproxyrocks.com.br:8080 virtualenv
10
répondu Daniel 2017-02-15 11:26:15

in Ubuntu 14.04 LTS

   sudo pip --proxy http://PROXYDOM:PROXYPORT install package

Cheers

6
répondu Rene Cejas Bolecek 2017-08-01 09:49:56
$ pip --proxy http://proxy-host:proxy-port install packagename

c'est Ce qui a fonctionné pour moi sur

6
répondu Anand 2018-07-19 05:37:27

j'ai eu le même problème : derrière un proxy d'entreprise avec auth au travail, je ne pouvais pas avoir de travail pip, aussi bien que le texte Sublime 2 (bien, il a fonctionné avec la configuration personnalisée de mes paramètres de proxy). Pour pip (et je vais essayer ça sur git), Je l'ai résolu en installant cntlm proxy. Il était très simple de configurer:

  1. Modifier cntlm.ini
  2. Modifier "nom d'utilisateur", "Domaine", "Mot de passe" champs
  3. ajouter une ligne" Proxy", avec vos paramètres de proxy : server:port
  4. assurez-vous que la ligne "NoProxy" intègre "localhost" (comme par défaut)
  5. noter le port par défaut: 3128
  6. Enregistrer et c'est tout.

pour tester ce qui fonctionne, il suffit de lancer un nouvel outil en ligne de commande, et essayer:

pip install django --proxy=localhost:3128

ça a marché pour moi. Espérons que cela vous aidera.

5
répondu Johan Chouquet 2013-04-24 13:43:38

si vous voulez mettre à jour pip par proxy, vous pouvez utiliser (par exemple sous Windows):

python -m pip --proxy http://proxy_user:proxy_password@proxy_hostname:proxy_port insta
ll --upgrade pip
4
répondu Nikolay Baranenko 2018-03-27 16:45:42

pour les utilisateurs de windows: si vous voulez installer Flask-MongoAlchemy puis utiliser le code suivant

pip install Flask-MongoAlchemy --proxy="http://example.com:port"**
3
répondu Nitin Panwar 2015-06-08 06:56:44

définit la variable d'environnement dans les paramètres système avancés. Dans l'invite de Commande, il doit se comporter comme ceci :

C:\Windows\system32 > echo % http_proxy %

http://username:passowrd@proxy:port

C:\Windows\system32 > echo %https_proxy %

http://username:password@proxy:port

Plus Tard , Tout Simplement pip install whatEver devrait marcher.

3
répondu mkkhedawat 2016-06-17 08:13:57

ouvrez L'invite de commande Windows.

configurer le proxy de variables d'environnement.

set http_proxy=http://user:password@proxy_ip:port
set https_proxy=https://user:password@proxy_ip:port

installe les paquets Python en utilisant proxy dans la même invite de commande Windows.

pip install --proxy="user:password@proxy_ip:port" package_name
2
répondu Jyoti Yadav 2018-09-06 12:02:11

chez CentOS (en fait je pense que toutes les distributions linux sont similaires) run

env|grep http_proxy

et

env|grep https_proxy

vérifiez quelle est la sortie de ces commandes (elles doivent contenir vos adresses proxy).

si les sorties sont vides ou ont des valeurs incorrectes, les modifier, par exemple:

export http_proxy=http://10.1.1.1:8080
export https_proxy=http://10.1.1.1:8080

essayez maintenant de récupérer et d'installer certains paquets en utilisant pip:

pip --proxy http://10.1.1.1:8080 install robotframework

et en fait, je n'ai jamais rencontré l'affaire quand ça n'a pas marché. Pour certains systèmes, vous devez être root (sudo n'est pas assez).

1
répondu Paweł Wojtal 2015-07-15 10:37:09

attention, il y a quelque chose de très mauvais avec la commande "pip search". La commande search n'utilise pas le paramètre proxy quelle que soit la façon dont il est transmis.

j'essayais de comprendre le problème en essayant seulement la commande "recherche", et j'ai trouvé ce post avec une explication détaillée à propos de ce bug: https://github.com/pypa/pip/issues/1104

je peux confirmer que le bug reste avec pip 1.5.6 sur Debian 8 avec python 2.7.9. La commande "pip install" fonctionne comme un charme.

1
répondu Pivert 2015-07-28 15:19:12

j'ai eu l'erreur:

chris@green:~$ sudo http_proxy=http://localhost:3128 pip install django==1.8.8 
Downloading/unpacking django==1.8.8
  Cannot fetch index base URL http://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement django==1.8.8
No distributions at all found for django==1.8.8
Storing complete log in /home/chris/.pip/pip.log

(le port du serveur mandataire est le port SSH transmis à localhost:3128 ).

j'ai dû configurer les proxies http et https pour que cela fonctionne:

chris@green:~$ sudo http_proxy=http://localhost:3128 https_proxy=http://localhost:3128 pip install django==1.8.8
Downloading/unpacking django==1.8.8
  Downloading Django-1.8.8.tar.gz (7.3Mb): 7.3Mb downloaded
  Running setup.py egg_info for package django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: django
  Running setup.py install for django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
    changing mode of build/scripts-2.7/django-admin.py from 644 to 755
    changing mode of /usr/local/bin/django-admin.py to 755
    Installing django-admin script to /usr/local/bin
Successfully installed django
Cleaning up...

comme http://pypi.python.org/simple/ redirige vers https://pypi.python.org/simple mais pip l 'erreur ne vous dit pas.

1
répondu fadedbee 2016-01-29 13:53:35

Je ne suis pas non plus un expert en la matière, mais je l'ai fait fonctionner en mettant la variable all_proxy dans le ~/.dossier bashrc. Pour ouvrir le fichier ~/.bashrc et l'éditer à partir d'un terminal exécuter les commandes suivantes,

gedit ~/.bashrc &

ajouter ce qui suit à la fin du fichier,

export all_proxy="http://x.y.z.w:port"

puis soit ouvrir un nouveau terminal ou exécuter le suivi dans le même terminal,

source ~/.bashrc

just setting http_proxy et https_proxy variables ne sont pas assez pour un usage simple pip install somepackage . Bien que d'une certaine façon sudo -E pip install somepackage fonctionne, mais cela m'a donné un certain problème dans le cas où j'utilise une installation locale D'Anaconda dans le dossier de mes utilisateurs.

P.S. - J'utilise Ubuntu 16.04.

1
répondu bytestorm 2017-05-20 12:41:54

pourquoi ne pas le faire localement? Très probablement vous êtes en mesure de télécharger à partir de https source par le biais de votre navigateur

  1. Téléchargez votre fichier de module (mysql-connector-python-2.0.3.zip / gz... etc.)
  2. extraire et aller le dir extrait où setup.py est situé et appelez:

    C:\mysql-connector-python-2.0.3>python.exe setup.py install
    
1
répondu Sendi_t 2017-07-24 10:21:28

C'est ce qui fonctionne pour moi:

pip --proxy proxy url:port command package
0
répondu Brock Vond 2017-07-24 09:59:01

j'ai résolu le problème avec PIP dans Windows en utilisant "Fiddler" ( https://www.telerik.com/download/fiddler ). Après le téléchargement et l'installation, faites ce qui suit:

"Règles" => cliquez sur "Authentifier"

exemple: pip install virtualenv-proxy 127.0.0.1: 8888

il suffit d'ouvrir votre invite et d'utiliser.

https://github.com/pypa/pip/issues/1182 Rechercher" voltagex "(commenté le 22 mai 2015)

0
répondu Lucius Matos 2018-05-23 17:40:53