Scripting Python – Jupyter Memo

Extension des fichiers de type Notebooks (IPython Notebooks) :

*.ipynb

Installation de Jupyter (Ipython puis Jupyter, pour Julia Python R) :

pip3 install --upgrade pip
pip3 install --upgrade ipython jupyter

Lancer Jupyter Notebook :

jupyter notebook

Afficher l’aide :

jupyter notebook --help

Afficher la liste des notebooks en cours :

jupyter notebook list #console)
!jupyter notebook list #notebook

Afficher la liste des répertoires utilisés par Jupyter (config, data, runtime) :

jupyter --paths #console
!jupyter --paths #notebook

Afficher le dossier contenant le fichier de configuration personnelle Jupyter :

jupyter --config-dir #console
!jupyter --config-dir #notebook

La configuration se trouve dans un fichier de ce répertoire nommé :

jupyter_notebook_config.py

Générer un fichier de configuration jupyter_notebook_config.py :

jupyter notebook --generate-config #console
!jupyter notebook --generate-config #notebook

Tutorial Notebook :

git clone https://github.com/ipython/ipython-in-depth
cd ipython-in-depth

Ne pas lancer l’affichage dans le navigateur :

jupyter notebook --no-browser

Spécifier le port de connexion (8888 par défaut) :

jupyter notebook --port number

Lancer l’arbre Jupyter dans le navigateur :

http://localhost:8888/tree

Lancer un notebook dans le navigateur :

http://localhost:8888/notebooks/notebookname.ipynb

Activez l’onglet IPython Clusters :

pip install ipyparallel
ipcluster nbextension enable

Protéger le serveur Jupyter avec un mot de passe :

Contenu du fichier jupyter_notebook_config.py :

# Password to use for web authentication
c.NotebookApp.password = u'sha1:d7c88060a25a:1f70621c95ce4d3e25c6d82571aad010fff608e1'

Pour définir le mot de passe ci-dessus (console Python) :

from IPython.lib import passwd
passwd("password")

Sécuriser la connexion en SSL :

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mykey.pem

Contenu du fichier jupyter_notebook_config.py :

# The full path to an SSL/TLS certificate file.
c.NotebookApp.certfile = 'C:\\Users\\DarwinOS\\.jupyter\\mycert.pem'
# The full path to a private key file for usage with SSL/TLS.
c.NotebookApp.keyfile = 'C:\\Users\\DarwinOS\\.jupyter\\mykey.pem'

Connexion à distance sur le notebook :

jupyter notebook --ip=* --no-browser #console

OU contenu du fichier jupyter_notebook_config.py :

c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False

Sauvegarder les dépendances utilisées :

pip freeze > requirements.txt

Utiliser Voilà pour partager un notebook à distance et en lecture seule (ici avec les cellules de code et le thème sombre) :

pip3 install voila
voila notebookname.ipynb --strip_sources=False --theme=dark

Sur un hôte distant, saisir l’URL fournie, par ex :

http://mysite.opensharing.priv:8866/
Fermer le menu