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 :)
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!
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
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
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
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
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