web-dev-qa-db-fra.com

Utiliser Jupyter derrière un proxy

Existe-t-il une configuration similaire à celle de .condarc (anaconda 4.0.0) qui permet à Jupyter d'être configuré pour fonctionner derrière un proxy d'entreprise sur une machine locale?

Erreur reçue:

HTTPError: HTTP Error 407: Proxy Authentication Required
21
tog

Basé sur ce lien .

Vous devez modifier l'env du serveur notebook Jupyter. Créez un fichier nommé 00-something.py sous votre profil de serveur de bloc-notes Jupyter et ajoutez ce qui suit:

Par exemple:

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

(ou sur Windows ouvrez "C:/Users/ votre nom d'utilisateur /. jupyter/profile_myserver/startup/00-startup.py" dans votre éditeur de choix)

et ajouter

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

vous pouvez confirmer les variables env en exécutant

%env

dans une cellule et la sortie

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

Prochain essai

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

Si vous obtenez une réponse [200], alors vous êtes prêt.

10
Jamie Bull

Bien plus simple: ajoutez simplement les éléments suivants à votre carnet:

In [1]: import os
        os.environ['http_proxy'] = "http://user:passwd@Host:port" 
        os.environ['https_proxy'] = "https://user:passwd@Host:port" 

après cela, les demandes fonctionneront OK = 2 , par exemple.

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

Utilisez plutôt la variable minuscule, cela fonctionne pour moi:

import sys,os,os.path
os.environ['http_proxy']="http://user:passwd@Host:port"
os.environ['https_proxy']="http://user:passwd@Host:port"

Vérifiez ensuite votre variable env en utilisant ceci:

%env

La sortie sera comme ceci:

{'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'}

Remarques: Étant donné que je ne peux pas commenter en raison de ma réputation (demande 50 et je suis novice), je présente plutôt une nouvelle réponse.

2
Gunawan Marbun

Une solution plus simple pour moi a été d'ajouter une exception à ma configuration de proxy. Je viens de mettre l'adresse http://localhost:8888 à ma liste d'exceptions et cela a fonctionné.

2
Pedro H. N. Vieira

Sur la base de ces instructions de personnalisation de Jupyter :

  1. Créez le répertoire .jupyter_config dans votre répertoire personnel
  2. Ajoutez la ligne JUPYTER_CONFIG_DIR=~/.jupyter_config à votre profil bash/Shell (par exemple. .bash_profile).
  3. Ajoutez un script intitulé startup.py à ~/.jupyter_config avec le code suivant, personnalisé avec vos informations de proxy spécifiques:
import os
os.environ['http_proxy']= "http://user:passwd@Host:port"
os.environ['https_proxy']= "https://user:passwd@Host:port"
os.environ['HTTP_PROXY']= os.environ['http_proxy']
os.environ['HTTPS_PROXY']= os.environ['https_proxy']
0
Megatron