Mon ordinateur exécute Windows derrière un proxy sur un serveur Windows (en utilisant Active Directory), et je ne peux pas comprendre comment y arriver avec pip
(en python3). J'ai essayé d'utiliser --proxy
, mais il ne reste que des délais d'attente. J'ai également essayé de définir un délai d'attente long (60 s), mais cela ne faisait aucune différence. Mes paramètres de proxy sont corrects et je les ai comparés à ceux que j'utilise avec succès dans TortoiseHG pour m'en assurer.
Y a-t-il d'autres astuces que quelqu'un connaît et que je peux essayer, ou y a-t-il des limitations en pip
ce qui concerne les proxies Windows?
Mise à jour: Mes tentatives infructueuses impliquaient la recherche de pypi. Je viens d'essayer d'installer quelque chose et cela a fonctionné. La recherche échoue toujours cependant. Cela indique-t-il un bogue pip
ou fonctionnent-ils différemment?
la source
Cela m'a pris quelques heures pour comprendre cela, mais je l'ai finalement fait fonctionner en utilisant CNTLM et ensuite je l'ai fait fonctionner avec juste un fichier de configuration pip. Voici comment je l'ai fait fonctionner avec le fichier de configuration pip ...
Solution:
1. Sous Windows, accédez au répertoire de votre profil utilisateur (Ex. C: \ Users \ Sync) et créez un dossier nommé " pip "
2. Créez un fichier nommé " pip.ini " dans ce répertoire (Ex. C: \ Users \ Sync \ pip \ pip.ini) et entrez ce qui suit:
Remplacez [nom de domaine] , [nom d'utilisateur] , [mot de passe] , [adresse proxy] et [port proxy] par vos propres informations.
Notez que si votre [nom de domaine] , [nom d'utilisateur] ou [mot de passe] comporte des caractères spéciaux, vous devez encoder en pourcentage | les encoder .
3. À ce stade, j'ai pu exécuter " pip install " sans aucun problème.
Espérons que cela fonctionne aussi pour d'autres!
PS: Cela peut poser un problème de sécurité car votre mot de passe est stocké en texte brut. Si c'est un problème, envisagez de configurer CNTLM à l'aide de cet article (permet d'utiliser un mot de passe haché au lieu du texte brut). Ensuite, défini
proxy = 127.0.0.1:3128
dans le fichier "pip.ini" mentionné ci-dessus.la source
PIP_CONFIG_FILE
la variable d'environnement pour qu'elle pointe vers le fichierVoici comment je l'ai configuré:
Exportez les paramètres proxy:
set http_proxy=http://username:password@proxyAddress:port
set https_proxy=https://username:password@proxyAddress:port
Installez le package que vous souhaitez installer:
pip install PackageName
Par exemple:
la source
--proxy
argument ne l'aurait tout simplement pas du tout, mais l'approche standard env var a fonctionné pour la première fois. Pour mémoire, nous avons également décidéno_proxy
d'éviter que d'autres requêtes internes tentent de sortir via le proxy.cygwin
oucmder
puis faire le chemin linux:export http_proxy=<proxy>
etexport https_proxy=<proxy>
puis le fairepip install <package>
--proxy
indicateur de ligne de commande n'a jamais fonctionné. Windows 10J'ai rencontré le même problème sur Windows 7. J'ai réussi à le faire fonctionner en créant un dossier "pip" avec un fichier "pip.ini" à l'intérieur. J'ai mis ce dossier dans "C: \ Users \ {my.username} \ AppData \ Roaming", car selon la documentation Python:
Dans le fichier pip.ini, je n'ai que:
Donc pas de nom d'utilisateur: mot de passe. Et cela fonctionne très bien.
la source
J'ai eu un problème similaire et j'ai constaté que mon entreprise utilise l'authentification proxy NTLM. Si vous voyez cette erreur dans votre pip.log, c'est probablement le problème:
NTLMaps peut être utilisé pour s'interfacer avec le serveur proxy NTLM en devenant un proxy intermédiaire.
Téléchargez les NTLMAP, mettez à jour le server.cfg inclus, exécutez le fichier main.py, puis pointez le paramètre proxy de pip sur 127.0.0.1 :.
J'avais également besoin de modifier ces valeurs par défaut dans le
server.cfg
fichier en:http://ntlmaps.sourceforge.net/
la source
Vous pouvez également rencontrer des problèmes avec les certificats de votre proxy. Il y a beaucoup de réponses ici sur la façon de récupérer le certificat de votre proxy.
Sur un hôte Windows, pour permettre à pip d'effacer votre proxy, vous pouvez définir une variable d'environnement telle que:
Vous pouvez également utiliser l'
--cert
argument toPIP
avec le même résultat.la source
J'ai eu le même problème sur un environnement Windows distant. J'ai essayé de nombreuses solutions trouvées ici ou sur d'autres articles similaires mais rien n'a fonctionné. Enfin, la solution était assez simple. J'ai dû définir
NO_PROXY
avec cmd:Vous devez utiliser des guillemets doubles et mettre
NO_PROXY
en majuscules. Vous pouvez également l'ajouter enNO_PROXY
tant que variable d'environnement au lieu de la définir chaque fois que vous utilisez la console.J'espère que cela aidera si une autre solution publiée ici fonctionne.
la source
installez cntlm: Cntlm: Proxy d'authentification NTLM rapide en C
Config cntlm.ini:
démarrer:
Maintenant dans cmd.exe:
travaux!
Vous pouvez également masquer le mot de passe: https://stormpoopersmith.com/2012/03/20/using-applications-behind-a-corporate-proxy/
la source
même problème sur windows10 et les solutions supérieures ne fonctionnent pas pour moi.
utilisez un outil de console d'émulation comme
cygwin
, puis faites-le de la manière linux par défaut:et les choses fonctionnent bien.
la source