Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
python:outils:jupyter [2021/06/24 10:35] – [5. Google Colab] phil | python:outils:jupyter [2022/08/25 08:57] (Version actuelle) – [Outils - Notebook Jupyter, binder et Google Colab] phil |
---|
| {{ :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 <html><a href="https://jupyter.org/" target="_blank">jupyter.org</a></html> |
| * Jupyter dans l'extension Python de l'<html><a href="https://code.visualstudio.com/docs/python/jupyter-support" target="_blank">IDE VSCode</a></html> |
| * Introduction aux Notebooks IPython...<html><a href="http://faccanoni.univ-tln.fr/user/enseignements/20182019/M62-CM1.pdf" target="_blank">pdf</a></html> |
| |
| * **Ressources** |
| * <html><a href="https://lecluseo.scenari-community.org/jupyter_web/co/g_nbgrader.html" target="_blank">Evaluer</a> dans Jupyter</html> |
| * <html><a href="https://ledatascientist.com/google-colab-le-guide-ultime/" target="_blank">Google Colab : Le Guide Ultime</a></html> |
| * **Real Python** |
| * <html><a href="https://realpython.com/jupyter-notebook-introduction/" target="_blank">Jupyter Notebook: An Introduction</a></html> |
| * <html><a href="https://www.wrighters.io/use-ipywidgets-with-jupyter-notebooks/" target="_blank">How to use ipywidgets to make your Jupyter notebook interactive</a></html> |
| |
| ==== 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 === |
| |
| <note>Un notebook est un fichier avec l'extension **.ipynb**</note> |
| |
| 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 === |
| <note>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|}}.</note> |
| |
| // 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. |
| |
| <note warning>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**.</note> |
| |
| ===2.4 Réinitialiser l'interpréteur === |
| <note>Sélectionner //**Kernel**// -> **//Restart & Clear Output//**.</note> |
| |
| ===2.5 Sauvegarder dans différents formats === |
| <note tip>**//File//** -> **//Download as//** -> (Notebook, Python etc.)</note> |
| |
| === 2.6 Installer des packages === |
| * **Ressource** |
| * <html><a href="https://jakevdp.github.io/blog/2017/12/05/installing-python-packages-from-jupyter/" target="_blank">Installing Python Packages from a Jupyter Notebook</a></html> |
| |
| * **jupyter et canvas** |
| * **Ressource** : <html><a href="https://nbviewer.jupyter.org/gist/ericECmorlaix/2fea7082e3c9bde40d0d19d6cbcbec10" target="_blank">ipycanvas </a></html> 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 <html><a href="https://mybinder.org/" target="_blank">mybinder.org</a></html> |
| * Tutoriel <html><a href="https://github.com/alan-turing-institute/the-turing-way/blob/master/workshops/boost-research-reproducibility-binder/workshop-presentations/zero-to-binder-python.md" target="_blank">From Zero to Binder in Python!</a></html> |
| * <html><a href="https://mybinder.readthedocs.io/en/latest/index.html" target="_blank">Documentation</a></html> |
| <note>**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.</note> |
| |
| === 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 <html><a href="https://mybinder.org/" target="_blank">mybinder.org</a></html> 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 <html><a href="https://mybinder.readthedocs.io/en/latest/sample_repos.html" target="_blank">environnement Python avec requirements.txt</a></html>. Sources sur <html><a href="https://github.com/binder-examples/requirements" target="_blank">Github</a></html>. |
| |
| <note important>Lorsque des bibliothèques doivent être installées par binder, il est nécessaire d'inclure un fichier //**requirement.txt**// dans le projet.</note> |
| |
| * **Outil** |
| * <html><a href="https://github.com/jazzband/pip-tools/" target="_blank">pip-tools</a></html> |
| |
| * **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 : <html><a href="https://colab.research.google.com/notebooks/intro.ipynb#scrollTo=GJBs_flRovLc" target="_blank">Bienvenue dans Colaboratory</a></html> |
| |
| <note tip>**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 |
| </note> |
| |
| === 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 === |
| <note>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.</note> |
| |
| * 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 ==== |
| * <html><a href="https://labs.quansight.org/blog/2021/07/pyflyby-improving-efficiency-of-jupyter-interactive-sessions/" target="_blank">Pyflyby : Améliorer l'efficacité des sessions interactives Jupyter</a></html> |