web-dev-qa-db-fra.com

Comment activer les serveurs proxy avec anaconda python?

Nous essayons de faire fonctionner l'installation conda (sous Windows 8) derrière un pare-feu via un serveur proxy. Actuellement, nous pouvons utiliser pip pour installer des packages sur notre réseau d'entreprise en utilisant ceci à l'invite de commande:

pip install pandas --proxy=http://abc.def.xyz.com:1234

Aucun mot de passe ne doit être spécifié, juste le serveur proxy et le port. documentation conda indique que les serveurs proxy sont possibles:

# Proxy settings: http://[username]:[password]@[server]:[port]
proxy_servers:
    http: http://user:[email protected]:8080
    https: https://user:[email protected]:8080

J'ai essayé cela avec différentes combinaisons pour voir si je peux le faire fonctionner avec ou sans entrer mon nom d'utilisateur et mon mot de passe.

# formats tried:
http: http://user:[email protected]:1234
http: http://abc.def.xyz.com:1234

Je n'arrive pas à le faire fonctionner. J'ai aussi essayé diverses combinaisons de citations (les mots de passe ont des caractères spéciaux). A également essayé avec et sans le domaine\utilisateur.

Je peux voir sous le capot, conda utilise urlib3 (tandis que pip peut utiliser gestionnaire de proxy urlib ?). Notez que le fait d'avoir votre nom d'utilisateur et votre mot de passe dans un fichier est généralement mal vu.

Je sais que nous pourrions configurer notre propre canal d'emplacement http ou fichier et y mettre tous les packages et ajouter le canal aux paramètres de configuration .condarc. Cependant, je préférerais ne pas avoir à gérer localement un référentiel de packages et de versions.

Alors ... existe-t-il un moyen de spécifier, dans le fichier .condarc, le serveur proxy et le port (sans utilisateur ni mot de passe) pour que l'installation de conda fonctionne derrière un pare-feu, tout comme pip install sur la ligne de commande? Ou même un appel en ligne comme pip a et fonctionne ... quelque chose comme:

conda install pandas --proxy=abc.def.xyz.com:1234

Merci d'avance...

PS: J'adore vraiment le conda. J'ai passé le week-end dernier à configurer de nombreux environnements virtuels sur mon ordinateur personnel. La documentation était excellente et tout fonctionnait parfaitement. Dans l'ensemble, bien mieux que pip ... si seulement nous pouvions seulement faire fonctionner cela au sein de notre entreprise :)

17
Randall Goodwin

Eh bien, c'est gênant, mais c'est une bonne nouvelle. J'ai résolu mon problème avec une autre tentative de modification du fichier condarc.

https: https://abc.def.xyz.com:1234

Je suppose que pip a bien fonctionné avec http normal, alors que les adresses de conda sont tous des sites https:

https://repo.continuum.io/pkgs/free/win-64/

J'aurais dû attraper ça!

Eh bien, je suis maintenant simplement heureux que nous ayons une solution pour utiliser conda derrière notre pare-feu, et sans avoir besoin d'un utilisateur et d'un mot de passe. Impressionnant!

15
Randall Goodwin

Réponse tardive mais peut-être que d'autres personnes confrontées à ce problème peuvent en bénéficier.

Créez un fichier .condarc contenant:

channels:
- defaults

# Show channel URLs when displaying what is going to be downloaded and
# in 'conda list'. The default is False.
show_channel_urls: True
allow_other_channels: True

proxy_servers:
    http: http://172.**.*.***:8080
    https: https://172.**.*.***:8080


ssl_verify: False

Modifiez les adresses IP avec vos propres paramètres de proxy.

Mettez ce fichier dans le dossier principal de votre utilisateur (pour moi: C:\Users\bakayim)

Redémarrez votre anaconda Prompt

8
bakayim

Je peux confirmer que .condarc n'a pas eu d'effet souhaité dans mon cas (Windows 7). Avec conda info J'ai pu vérifier qu'il était chargé mais cela n'a eu aucun effet.

J'ai dû définir les variables d'environnement susmentionnées afin d'obtenir une connexion derrière un proxy.

J'ai terminé comme suit dans l'invite de commande:

set http_proxy=[protocol:your_proxy_address_here:port]
set https_proxy=[protocol:your_proxy_address_here:port]

Retirez les supports. Pour vérifier (lister) vos paramètres concurrents, tapez simplement: set

0
user1271930

ce qui a fonctionné pour moi, c'est le fichier .condarc suivant

channels:
  - r
  - defaults

proxy_servers:
  http: http://username:password@Proxyadresse:Proxyport
  https: https://username:password@Proxyadresse:Proxyport

ssl_verify: true
0
guest12345

Ouvrez la commande Anaconda et exécutez la commande ci-dessous:

set HTTP_PROXY=http://username:[email protected]:8080

set HTTPS_PROXY=https://username:[email protected]:8443
0
Abdul Haseeb

J'ai également défini 2 variables d'environnement Windows: (je ne sais pas si c'était nécessaire)

Name: http_proxy

Variable: http: // nom d'utilisateur: mot de passe @ Proxyadresse: Proxyport

Name: https_proxy

Variable: https: // nom d'utilisateur: mot de passe @ Proxyadresse: Proxyport

0
guest12345