{{ :suivant.png?nolink&30|}} {{ :retour.png?nolink&30|}} [[:python:accueilpython|{{ :iconemaison.jpg?nolink&30|Sommaire Python et microPython}}]]
===== Outils - Notebook Jupyter, binder et Google Colab =====
{{ :micropython:python.png?nolink&110|}}{{ :python:outils:jupyter.png?nolink&60|}}{{ :python:outils:binder.png?nolink&80|}}{{ :python:outils:co.png?nolink&80|}}
[Mise à jour le : 25/8/2022]
* **Sources**
* Site jupyter.org
* Jupyter dans l'extension Python de l'IDE VSCode
* Introduction aux Notebooks IPython...pdf
* **Ressources**
* Evaluer dans Jupyter
* Google Colab : Le Guide Ultime
* **Real Python**
* Jupyter Notebook: An Introduction
* How to use ipywidgets to make your Jupyter notebook interactive
==== 1. Introduction ====
Jupyter (anciennement IPython Notebook) est un projet open-source qui vous permet de combiner facilement du texte Markdown et du code source Python exécutable sur un canevas appelé notebook.
==== 2. Jupyter ====
=== 2.1 Lancer une session ===
Seulon l'installation réalisée, on pourra utiliser une des deux solutions suivantes :
* **Solution 1**
* Ouvrir une invite de commandes à partir de la barre de recherche{{ :python:outils:cmd.png?nolink&300 |}}
* Entrer le texte //"jupyter notebook"//{{ :python:outils:jupyternotebook.png?nolink |}}
* Le **bureau** Jupyter s'ouvre dans un navigateur
* **Solution 2**
* Entrer "//jupyter//" dans la barre de recherche et sélectionner :{{ :python:outils:jupy1.png?nolink |}}
* Le **bureau** Jupyter s'ouvre dans un navigateur{{ :python:outils:jupy2.png?nolink |}}
=== 2.2 Ouvrir un notebook ===
Un notebook est un fichier avec l'extension **.ipynb**
Se placer dans le répertoire où se trouve le notebook et cliquer dessus pour l'ouvrir.
//Exemple// : notebook //PageRank// situé dans //Desktop/jupyter_pagerank//
{{ :python:outils:jupy3.png?nolink |}}
{{ :python:outils:jupy4.png?nolink |}}
=== 2.3 Evaluer une cellule de code ===
Une fois sélectionnée, une cellules de code est évaluée par la combinaison des touches **//Maj//** et **//Entrée//** ou en cliquant sur {{:python:outils:jupy7.png?nolink|}}.
// Exemple //
{{ :python:outils:jupy5a.png?nolink |}}
{{ :python:outils:jupy5b.png?nolink |}}
{{ :python:outils:jupy6.png?nolink |}}
Si le code que l'on évalue dépend de codes situés en amont, ceux-ci doivent être évalués en respectant l'ordre d'exécution. Dans l'exemple ci-dessus, deux cellules ont été évaluées avant la boucle.
Si le code que l'on évalue dépend de codes situés en amont, ceux-ci doivent être évalués en respectant l'ordre d'exécution. \\ Dans l'exemple ci-dessus, deux cellules ont été évaluées avant la boucle **for...** .Le numéro entre crochets donne l'ordre dans lequel les cellules ont été évaluées. \\ **Attention a bien évaluer les cellules dans l'ordre**.
===2.4 Réinitialiser l'interpréteur ===
Sélectionner //**Kernel**// -> **//Restart & Clear Output//**.
===2.5 Sauvegarder dans différents formats ===
**//File//** -> **//Download as//** -> (Notebook, Python etc.)
=== 2.6 Installer des packages ===
* **Ressource**
* Installing Python Packages from a Jupyter Notebook
* **jupyter et canvas**
* **Ressource** : ipycanvas une bibliothèque légère, rapide et stable exposant l' API Canvas du navigateur à IPython
==== 3. binder - Transformer un dépôt git en notebooks ====
* **Sources**
* Site mybinder.org
* Tutoriel From Zero to Binder in Python!
* Documentation
**binder** offre une solution de service en ligne gratuit de Notebook interactifs sans avoir à installer un serveur JupyterHub local et ouvert sur l’extérieur.
=== 3.1 Mise en oeuvre ===
- Créer un jupyter et ses dépendances
- Installer l'ensemble des fichiers dans un dépôt [[outils:git|Github]]
- Ouvrir mybinder.org et placer le nom ou URL du référentiel GitHub. {{ :python:outils:mybinder.png?nolink |}}
- mybinder construit le notebook dans le navigateur
=== 3.2 Référentiel de classeur ===
* **Sources**
* Mise en oeuvre d'un environnement Python avec requirements.txt. Sources sur Github.
Lorsque des bibliothèques doivent être installées par binder, il est nécessaire d'inclure un fichier //**requirement.txt**// dans le projet.
* **Outil**
* pip-tools
* **Opérations à réaliser**
- **Installer** pip-tools dans le répertoire du notebook
- **Créer** un fichier texte //requirements.in// dans lequel on placera la liste des bibliothèques à installer
- **Générer** le fichier //requirements.txt// avec pip-tools
{{ :python:outils:colab.jpg?nolink|}}
====5. Google Colab ====
* Source : Bienvenue dans Colaboratory
**Colaboratory**, souvent raccourci en "**Colab**", permet d'écrire et d'exécuter du **code Python dans un navigateur**. \\ Il offre les avantages suivants :
* Aucune configuration requise
* Accès gratuit aux GPU
* Partage facile
=== 5.1 Ajouter Colab dans son compte Google Drive ===
{{ :python:outils:colab1.png?nolink&100|}}
Pour utiliser Google colab il suffit d'aller sur son **compte google drive**, de cliquer sur **nouveau** et sur "**plus**" afin de choisir "**Colaboratory**". \\
Si l'option "Colaboratory" n'est pas présente, cliquer sur "Associer plus d'applications", rechercher "Colaboratory" et cliquer sur connecter.
{{ :python:outils:colab2.png?nolink |}}
{{ :python:outils:opencolab.png?nolink&100|}}
=== 5.2 Open in Colab dans Chrome ===
Open in Colab est une extension de navigateur qui permet d'ouvrir rapidement les blocs-notes Jupyter hébergés sur GitHub dans Google Colab.
* Installer l'application **Open in Colab** dans le navigateur à partir de **chrome web store** pour qu'elle soit disponible dans {{:python:outils:applichrome.png?nolink|}}.
{{ :python:outils:chromews.png?nolink&400 |}}
* Lancer Open in Colab en cliquant sur l'icône présente dans {{:python:outils:applichrome.png?nolink|}}. La fenêtre ci-dessous s'ouvre.
{{ :python:outils:colab4.png?nolink |}}
=== 5.3 Créer un notebook à partir d'un dépôt Github ===
* Sélectionner **Github** dans **Open in Colab** et entrer le lien vers le dépôt.
* Sélectionner le fichier à convertir et cliquer sur nouveau notebook.{{ :python:outils:notebookgithub.png?nolink |}}
==== Plus loin ====
* Pyflyby : Améliorer l'efficacité des sessions interactives Jupyter