2016-04-14 26 views
10

Esiste una configurazione simile a quella di .condarc (anaconda 4.0.0) che consente a Jupyter di essere configurato per funzionare dietro un proxy aziendale su un computer locale?Utilizzo di Jupyter dietro un proxy

errore ricevuto:

HTTPError: HTTP Error 407: Proxy Authentication Required 
+0

Ho risolto il problema impostando le variabili di ambiente 'HTTPS_PROXY' e' HTTPS_PROXY', _correctly_. Il mio HTTPS era errato e non funzionava allo stesso modo. –

risposta

5

Sulla base di this link.

È necessario modificare il server del notebook Jupyter env. Creare un file denominato 00-something.py sotto il profilo server notebook Jupyter e aggiungere quanto segue:

Ad esempio:

vi /.jupyter/profile_myserver/startup/00-startup.py 

(o su Windows aprire "C:/Users/tuo username /.jupyter/ profile_myserver/startup/00-startup.py" nel vostro editor di scelta)

e aggiungere

import sys,os,os.path 
os.environ['HTTP_PROXY']="http://proxy.example.com:80" 
os.environ['HTTPS_PROXY']="https://proxy.example.com:443" 

si c un confermare le variabili env eseguendo

%env 

in una cella e l'uscita

{'CLICOLOR': '1', 
'GIT_PAGER': 'cat', 
'HOME': '/home/jay', 
'HTTP_PROXY': 'http://proxy.example.com:80', 
.. 

Provare a

import requests 
requests.get("http://google.com") 

Se si ottiene una risposta [200] poi si sono tutti insieme.

+0

Quale sarebbe la procedura su Windows 7? – toasteez

+0

Non sono sicuro, ma mi aspetto che l'unica differenza sia dove si trova il profilo del server e possibilmente con il quale lo si modifica. –

+0

la lettera 's' manca nell'indirizzo per https? – tagoma

4

modo più semplice: basta aggiungere il seguente al notebook:

In [1]: import os 
     os.environ['http_proxy'] = "http://user:[email protected]:port" 
     os.environ['https_proxy'] = "https://user:[email protected]:port" 

dopo di che, le richieste lavoreranno OK=200, per esempio

In [2]: import requests 
     requests.get("http://google.com") 
Out[2]: <Response [200]> 
1

Una soluzione più semplice per me era aggiungere un'eccezione alla configurazione del mio proxy. Ho appena inserito l'indirizzo http://localhost:8888 nella mia lista di eccezioni e ha funzionato.

1

utilizzare la variabile in minuscolo, invece, funziona per me:

import sys,os,os.path 
os.environ['http_proxy']="http://user:[email protected]:port" 
os.environ['https_proxy']="http://user:[email protected]:port" 

Poi controllare la variabile ENV usando questo:

%env 

L'output sarà simile a questo:

{'CLICOLOR': '1', 
'...' 
'...' 
'http_proxy': 'http://gunawan.marbun:[email protected]:8080' 
'https_proxy': 'https://gunawan.marbun:[email protected]:8080' 
'no_proxy': 'localhost,127.0.0.0/8,::1'} 

Note: Poiché non posso commentare a causa della mia reputazione (req 50 e sono novizio), presento invece una nuova risposta.