2015-03-25 24 views
12

Stiamo cercando di ottenere l'installazione di conda (su Windows 8) per funzionare dietro un firewall tramite un server proxy. Al momento, siamo in grado di utilizzare pip per installare i pacchetti, mentre sulla nostra rete aziendale utilizzando questo al prompt dei comandi:Come abilitare i server proxy con anaconda python?

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

Nessuna password è necessario specificare, solo il server proxy e la porta. Le conda documentation afferma che i server proxy sono possibili:

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

Ho provato questo con varie combinazioni per vedere se riesco a farlo funzionare con o senza mettere in mio nome utente e la password.

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

Non riesco a farlo funzionare. Ho provato varie combinazioni di citazioni (le password hanno caratteri speciali). Anche provato con e senza il dominio \ utente.

Posso vedere sotto il cofano, conda sta usando urlib3 (mentre pip può usare urlib proxy handler?). Si noti che avere il proprio nome utente e password in un file è generalmente disapprovato.

So che potremmo impostare il nostro canale http o file posizione e mettere tutti i pacchetti lì e aggiungere il canale alle impostazioni di configurazione .condarc. Tuttavia preferirei non dover gestire un repository di pacchetti e versioni localmente.

Quindi .... c'è un modo per specificare, nel file .condarc, il server proxy e la porta (senza utente e password) in modo che l'installazione di conda funzioni dietro un firewall proprio come installare pip sulla riga di comando? O anche una chiamata in linea come pip ha e funziona ... qualcosa di simile:

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

Grazie in anticipo ...

PS: mi piace molto Conda. Ho trascorso lo scorso fine settimana a configurare molti ambienti virtuali sul mio PC di casa. La documentazione è stata eccezionale e tutto ha funzionato alla perfezione. Nel complesso, molto meglio di pip ... se solo potessimo farlo funzionare nella nostra azienda :)

+0

conda e pip utilizzano entrambi le richieste, che utilizza urllib3. – asmeurer

risposta

12

Beh, questo è imbarazzante, ma una buona notizia. Ho risolto il mio problema con un altro tentativo di modifica del file condarc.

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

Credo pip lavorato bene con regolare http, mentre gli indirizzi di Conda sono tutti https siti:

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

avrei dovuto catturati che!

Bene, ora sono contento che abbiamo una soluzione per utilizzare la conda dietro il nostro firewall e senza bisogno di un utente e una password. Eccezionale!

+0

Sei su Windows? In tal caso, dove va il file di configurazione di conda? – dustin

+0

Qualcuno sa dove il pip installato tramite anaconda 4.0.0 preleva il proxy? – toasteez

+0

Non ho trovato il modo di inserire le informazioni proxy in configurazione. Tuttavia, le variabili di ambiente http_proxy e https_proxy funzionano bene. –

1

Risposta tardiva, ma forse altre persone che si trovano ad affrontare questo problema possono trarne beneficio.

Creare un file contaninig .condarc:

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 

Cambiare indirizzo IP, con le proprie impostazioni proxy.

Mettere questo file nella cartella principale del vostro utente (per me: C: \ Users \ bakayim)

Riavviare il prompt di anaconda

0

Posso confermare che .condarc non ha avuto effetto desiderato nel mio caso (Windows 7). Con conda info ho potuto verificare che fosse caricato ma non ha avuto alcun effetto.

Ho dovuto impostare le variabili di ambiente di cui sopra per ottenere la connessione da un proxy.

mi è stato fatto nel modo seguente prompt dei comandi:

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

Rimuovere le staffe. Per verificare (elencare) le impostazioni simultanee, digitare: set

0

La nuova versione di Anaconda viene fornita con il file .condar nella directory utente C:\Users\User_name\.condarc.

quindi tutto da fare è solo per modificare il contenuto, come di seguito:

channels: 
    - defaults 

show_channel_urls: True 
allow_other_channels: True 

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

ssl_verify: true 

Questo è ciò che ha funzionato per me.