Comment utiliser pip sur windows derrière un proxy d'authentification
Mon ordinateur exécute windows derrière un proxy sur un serveur windows (à l'aide d'active directory), et je ne peux pas comprendre comment obtenir à travers elle avec pip
(en python3). J'ai essayé d'utiliser --proxy
, mais il reste juste délais d'attente. J'ai aussi essayé de fixer un délai long (années 60), mais qui ne fait pas de différence. Mes paramètres de proxy sont corrects, et j'ai comparé avec ceux que j'utilise avec succès dans TortoiseHG pour s'en assurer.
Y a d'autres trucs que quelqu'un sait de qui je peux essayer, ou est-il une limitation dans pip
en ce qui concerne windows proxy?
Mise à jour: Mon échec de tentatives d'impliquer la recherche pypi. J'ai juste essayé d'installer réellement quelque chose et cela a fonctionné. La recherche ne fonctionne toujours bien. Est-ce à indiquer un bogue dans pip
ou font-ils différemment?
Vous devez vous connecter pour publier un commentaire.
J'ai essayé les 2 options qui travaillent tous les deux sur mon entreprise NTLM proxy authentifié.
L'Option 1 est à utiliser
--proxy http://user:pass@proxyAddress:proxyPort
Si vous rencontrez toujours des difficultés, je voudrais suggérer l'installation d'un proxy authentication service (j'utilise CNTLM) et en soulignant pip à ie quelque chose comme
--proxy http://localhost:3128
Il m'a fallu quelques heures pour comprendre cela, mais j'ai finalement réussi à le faire fonctionner à l'aide de CNTLM et par la suite l'ai eu à travailler avec un pip fichier de configuration. Voici comment je l'ai eu à travailler avec le pip fichier de config...
Solution:
1. Dans Windows, naviguez jusqu'à votre répertoire de profil d'utilisateur (Ex. C:\Users\Sync) et créez un dossier nommé "pip"
2. Créer un fichier nommé "pip.ini" dans ce répertoire (Ex. C:\Users\Sync\pip\pip.ini) et entrez les informations suivantes dans ce:
Remplacer [nom de domaine], [nom d'utilisateur], [mot de passe], [adresse proxy] et [port proxy] avec votre propre information.
3. À ce point, j'ai été en mesure d'exécuter "pip install" sans aucun problème.
J'espère que cela fonctionne pour les autres aussi!
P. S.: Ceci peut poser un problème de sécurité parce que d'avoir votre mot de passe stockés en clair. Si c'est un problème, envisager de mettre en place CNTLM à l'aide de cet article (permet d'utiliser le hachage de mot de passe au lieu de texte brut). Par la suite définir
proxy = 127.0.0.1:3128
dans le "pip.ini" dossier mentionné ci-dessus.PIP_CONFIG_FILE
variable d'environnement pour pointer vers le pip.fichier iniC'est la façon dont je l'ai installé:
Exporter les paramètres de proxy :
set http_proxy=http://username:password@proxyAddress:port
set https_proxy=https://username:password@proxyAddress:port
Installer le paquet que vous voulez installer:
pip install PackageName
Par exemple:
--proxy
argument tout simplement pas à tous, mais la norme env var approche a travaillé la première fois. Pour l'enregistrement, nous avons également mis enno_proxy
pour éviter d'autres demandes internes tenter de sortir par le proxy.cygwin
oucmder
et ensuite faire le linux façon:export http_proxy=<proxy>
etexport https_proxy=<proxy>
et puis il suffit de fairepip install <package>
J'ai rencontré le même problème sur windows 7. J'ai réussi à le faire fonctionner par la création d'un "pip" dossier avec un "pip.ini" fichier à l'intérieur. J'ai mis ce dossier à l'intérieur "C:\Users\{mon.nom d'utilisateur)\AppData\Roaming", parce que, selon la documentation Python:
Dans le pip.fichier ini, j'ai seulement:
Si aucun nom d'utilisateur:mot de passe. Et il fonctionne parfaitement bien.
J'ai eu un problème similaire, et a constaté que mon entreprise utilise l'authentification du proxy NTLM. Si vous voyez cette erreur dans votre pip.journal, c'est probablement la question:
NTLMaps peut être utilisé pour l'interface avec le serveur proxy NTLM en devenant un proxy intermédiaire.
Télécharger NTLMAPs, de mise à jour inclus serveur.cfg, exécutez la main.py fichier, puis pointez du pip paramètre de proxy 127.0.0.1:.
J'ai aussi besoin de modifier ces valeurs par défaut dans le
server.cfg
fichier:http://ntlmaps.sourceforge.net/
Vous pouvez également rencontrer des problèmes avec des certificats à partir de votre proxy. Il y a beaucoup de réponses sur la façon de récupérer votre proxy du certificat.
Sur un hôte Windows, pour permettre à ce programme pour effacer votre procuration, vous pouvez définir une variable d'environnement tels que:
Vous pouvez également utiliser le
--cert
argumentPIP
avec le même résultat.même problème sur windows10 et les solutions ci-dessus ne sont pas de travail pour moi.
utiliser un émulateur de la console de l'outil comme
cygwin
et puis le faire par défaut de linux façon:et les choses fonctionnent très bien.
J'ai eu le même problème sur une distance de l'environnement windows. J'ai essayé de nombreuses solutions trouvées ici ou sur d'autres postes similaires mais rien n'a fonctionné. Enfin, la solution était assez simple. J'ai dû mettre
NO_PROXY
avec cmd :Vous devez utiliser des guillemets et de l'ensemble
NO_PROXY
majuscules. Vous pouvez également ajouterNO_PROXY
comme une variable d'environnement au lieu de définir à chaque fois que vous utilisez la console.J'espère que cela aidera si aucune autre solution posté ici.
installer cntlm: Cntlm: Rapide de l'Authentification NTLM Proxy en C
Config cntlm.ini:
démarrer:
Maintenant dans cmd.exe:
fonctionne!
Vous pouvez également masquer le mot de passe: https://stormpoopersmith.com/2012/03/20/using-applications-behind-a-corporate-proxy/
Dans mon cas, cela a fonctionné quand j'ai ouvert l'invite de commande (cmd) en tant qu'administrateur seulement et pas plus d'informations sur les paramètres de proxy est nécessaire.