{{ :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