Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
python:anaconda [2020/04/17 10:51] Alexandre Perraud [JupyterLab git extension] |
python:anaconda [2022/02/27 22:56] Francesco Beretta [Utilisateurs avancés – Plugins de JupyterLab] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
Retour à l'accueil [[python:accueil|Python pour les historiens]] | Retour à l'accueil [[python:accueil|Python pour les historiens]] | ||
- | ======= Installer et configurer son environnement Python ======= | + | ======= Installer et configurer son environnement de travail Python ======= |
- | ====== Documentation et tutoriels ====== | ||
- | ===== Anaconda/Miniconda ===== | + | ===== Gestion de l'environnement de travail ===== |
- | * [[https://www.anaconda.com/what-is-anaconda/|Ce qu'est Anaconda]] – [[https://docs.conda.io/projects/conda/en/latest/index.html|ce qu'est **Conda**]] | + | [...] |
- | * Installer [[https://www.anaconda.com/download/|Anaconda]] ou [[https://docs.conda.io/en/latest/miniconda.html|Miniconda]]. Dans le cadre de ce tutoriel, la version de python pouvant être utilisée est la **3.7**. | + | |
- | * Quelle différence entre Anaconda et Miniconda ? Anaconda apporte, en plus du gestionnaire d'environnements Python conda, une interface graphique complète et différents logiciels. L'environnement risque d'être un peu lourd – pour des petits projets **Miniconda** est préférable. Il n'est pas recommandé, dans le cadre de cet atelier, de créer un environnement avec le logiciel Anaconda, car cela pose problème par la suite. | + | |
- | * [[https://zestedesavoir.com/tutoriels/1448/installer-un-environnement-de-developpement-python-avec-conda|Tutoriel en français]] concernant l'utilisation de //conda//. | + | |
- | * [[https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html|Tutoriel en anglais]] de conda | + | |
- | ===== JupyterLab git extension ===== | ||
- | Documentation concernant //JupyterLab git extension//: | ||
- | * [[https://github.com/jupyterlab/jupyterlab-git|jupyterlab / jupyterlab-git]] | ||
- | * Tutoriel [[https://annefou.github.io/jupyter_publish/02-git/index.html|JupyterLab git extension]] | ||
- | * Un tutoriel très intéressant sur Jupyter Lab dont la partie 3 concerne GitHub: [[http://jakevdp.github.io/blog/2017/03/03/reproducible-data-analysis-in-jupyter/|Reproducible Data Analysis in Jupyter]] | ||
- | **/!\ Avant de faire le tutoriel, réfléchissez si vous devez créer un nouveau environnement virtuel, si vous avez déjà d'autres projets en cours.** Il est donc préférable de créer un environnement en ligne de commande. Voir ci-dessous pour l'installation de l'environnement. | + | ===== Gestion des environnements virtuels ===== |
- | \\ Une fois que vous avez activé votre environnement dans Miniconda, pensez à installer **JupyterLab**. Jupyter Notebook sera automatiquement installé avec. | + | |
- | \\ Une fois JupyterLab installé, lancez le, il s'affichera sur votre navigateur. | + | |
+ | Les environnements virtuels fournissent un moyen puissant pour isoler les paquets utilisés dans un projet utilisant Python et leurs dépendances. Cela signifie que vous pouvez utiliser des paquets particuliers à un projet sans les installer sur l’ensemble du système, en évitant ainsi les conflits de version potentiels et en assurant la cohérence de l'environnement. | ||
+ | Cf. [[https://docs.python.org/fr/3/tutorial/venv.html|Environnements virtuels et paquets]]. | ||
+ | |||
+ | Plusieurs outils de gestion d'environnements virtuels existent, construits autour de PIP (cf. documentation officielle de Python). Comme nous pratiquons ici une approche orientée analyse de données (et non développement web ou développement d'applications), nous avons privilégié le gestionnaire de paquets Conda (cf. ci-dessous), ainsi qu'un édrivé plus performant appelé [[https://mamba.readthedocs.io/en/latest/index.html|Mamba]]. | ||
+ | |||
+ | Ces deux gestionnaires d'environnements permettent d'installer des paquets d'autres langages informatiques, tel R, node.js ou java. Il est donc particulièrement intéressant et fléxible pour notre but. | ||
+ | |||
+ | |||
+ | ====== Miniconda / Anaconda ====== | ||
+ | |||
+ | * [[https://www.anaconda.com/what-is-anaconda/|Ce qu'est Anaconda]] – [[https://docs.conda.io/projects/conda/en/latest/index.html|ce qu'est Conda]] | ||
+ | * **Installer [[https://docs.conda.io/en/latest/miniconda.html|Miniconda]].** Dans le cadre de ce tutoriel, la version de python de référence est la **3.9**. | ||
+ | * Quelle différence entre Anaconda et Miniconda ? [[https://www.anaconda.com/download/|Anaconda]] apporte, en plus du gestionnaire d'environnements Python //conda//, une interface graphique complète et différents logiciels. L'environnement risque d'être un peu lourd – pour des petits projets **Miniconda** est préférable. Il n'est pas recommandé, dans le cadre de cet atelier, de créer un environnement avec le logiciel Anaconda, car cela pose problème par la suite. | ||
+ | * [[https://zestedesavoir.com/tutoriels/1448/installer-un-environnement-de-developpement-python-avec-conda|Tutoriel en français]] concernant l'utilisation de //conda//. | ||
+ | * [[https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html|Tutoriel en anglais]] de conda | ||
- | Les paquets pour conda: | ||
- | * [[https://anaconda.org/conda-forge/jupyterlab-git|jupyterlab-git]] ([[https://github.com/jupyterlab/jupyterlab-git|documentation sur GitHub]]) | ||
- | * [[https://anaconda.org/krinsman/jupyterlab-github|jupyterlab-github]] ([[https://github.com/jupyterlab/jupyterlab-github|Documentation sur Github]]) | ||
- | ====== Installation de Miniconda avec JupyterLab et ses plugins ====== | + | ===== Installation de Miniconda ===== |
**Miniconda est à préférer car c'est environnement beaucoup plus léger** (mais à utiliser en ligne de commande). | **Miniconda est à préférer car c'est environnement beaucoup plus léger** (mais à utiliser en ligne de commande). | ||
Ligne 35: | Ligne 37: | ||
* Télécharger [[https://docs.conda.io/en/latest/miniconda.html|Miniconda]] et installer en suivant les instructions de l'installateur. Sous Windows et Linux choisir la version adaptée au système : 32 ou 64 bits. | * Télécharger [[https://docs.conda.io/en/latest/miniconda.html|Miniconda]] et installer en suivant les instructions de l'installateur. Sous Windows et Linux choisir la version adaptée au système : 32 ou 64 bits. | ||
- | ===== Windows et macOS ===== | + | ===== Windows et MacOS ===== |
* Relever l'emplacement d'installation | * Relever l'emplacement d'installation | ||
* En général sous Windows C:\Users\[nom utilisateur]\Miniconda3 | * En général sous Windows C:\Users\[nom utilisateur]\Miniconda3 | ||
- | * Cocher : Conda comme installation Python par défaut | + | * Cocher : **Conda comme installation Python par défaut** |
- | * Cocher "Ajouter au PATH" ! | + | * **Ne pas cocher**: "Ajouter au PATH" ! |
- | * Si Conda n'est pas ajouté au PATH, utiliser le programme //Anaconda prompt// après installation. Si Conda n'est toujours pas visible, voir ci-dessous les Problèmes/bugs | + | * [Octobre 2020] L'installateur de Miniconda dans Windows 10 déconseille de l'ajouter au PATH, à cause de problèmes qui pourraient survenir. |
+ | * Dans le menu de démarrage Windows (Windows Start menu) sélectionner "Anaconda 64bit". L'ajout au PATH peut provoquer des problèmes. | ||
+ | * Conda n'est pas ajouté au PATH, utiliser le programme //Anaconda prompt// après installation. Si Conda n'est toujours pas visible, voir ci-dessous les Problèmes/bugs | ||
[[https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html|Tutoriel]] d'introduction a l'utilisation de //conda// | [[https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html|Tutoriel]] d'introduction a l'utilisation de //conda// | ||
+ | |||
+ | |||
+ | ===== Vérification de l'installation ===== | ||
+ | |||
| | ||
Sous Windows, lancer le programme //Anaconda prompt//, sous Mac ouvrir le //Terminal//: | Sous Windows, lancer le programme //Anaconda prompt//, sous Mac ouvrir le //Terminal//: | ||
- | * Vérifier l'installation de Conda en exécutant la commande ci-dessous qui donne la liste des paquets installés dans l'environnement de base: <code>conda list</code> | + | * Vérifier l'installation de Conda en exécutant la commande ci-dessous qui donne la version de conda: <code>conda info</code> |
+ | * la liste des paquets installés dans l'environnement de base: <code>conda list</code> | ||
+ | * la liste des environnements disponibles: <code>conda env list</code> | ||
+ | * Au début il n'y aura que l'nevironnement de 'base' | ||
+ | * Attention : n'installer aucun paquet dans l'environnement de base ! Toujours créer un nouvel environnement. | ||
* En cas d'erreur, si par exemple CMD (Windows) / Terminal (MacOS) renvoit le message d'erreur suivant <code>conda: command not found error</code> voir Problèmes / Bugs ci-dessous. | * En cas d'erreur, si par exemple CMD (Windows) / Terminal (MacOS) renvoit le message d'erreur suivant <code>conda: command not found error</code> voir Problèmes / Bugs ci-dessous. | ||
* Exécuter tout d'abord une mise à jour de Conda: <code>conda update conda</code> | * Exécuter tout d'abord une mise à jour de Conda: <code>conda update conda</code> | ||
* Lorsque l'exécutable imprime la liste des paquets à mettre à jour et demande: installer y/n ? répondre y = yes | * Lorsque l'exécutable imprime la liste des paquets à mettre à jour et demande: installer y/n ? répondre y = yes | ||
- | * Créer ensuite un environnement contenant Jupyter Lab: conda create --name <envname> python=<version>. | ||
- | * <code> [suggestion:] conda create --name py37_gitlab python=3.7 jupyterlab=1.2.7 jupyterlab-git </code> | ||
- | * Pour Windows taper: <code>conda create --name py37_gitlab python=3.7 jupyterlab pywin32 jupyterlab-git jupyterlab-github requests</code> | ||
- | * Lorsque l'exécutable demande : installer y/n répondre y = yes | ||
- | * Activer le nouvel environnement : <code>conda activate py37_gitlab</code> | ||
- | * Démarrer Juypter Lab : <code>jupyter lab</code> | ||
- | * Si on veut ajouter des nouveau paquets à l'environnement, arrêter Jupyter Lab (alt-C pour Windows ou ctrl-C pour Mac), puis ajouter les paquets à l'environnement actif, dans ce cas //py37_gitlab// puis relancer le Lab. | ||
- | \\ | ||
- | \\ | ||
- | -------- | ||
- | ==== Problèmes / Bugs ==== | ||
- | === Problème au lancement de Anaconda === | ||
- | * Sous Windows, si le kernel ne démarre pas, avec l'erreur "manque win32api", insaller: <code>conda install pywin32</code> | + | ===== Gérer un environnement avec Conda ===== |
- | * Sous Windows 7 problème au lancement de Anaconda. Solution qui marche ([[https://github.com/ContinuumIO/anaconda-issues/issues/1467|Source]]) : | ||
- | PROBLEM: Anaconda Navigator won't start (nor will Spyder, IPython, ...). Error is reported: | + | \\ |
- | This application failed to start because it could not find or load the Qt platform plugin "windows" in "" | + | Pages dédiées dans ce Wiki: |
- | SOLUTION: | + | * [[intro_histoire_numerique:conda_histoire_numerique|Environnement pour le cours histoire numérique]] |
- | Copier le dossier | + | * [[python:environnement_conda|Créer et gérer un environnement Conda]] (dans ce tutoriel Python) |
- | Continuum\Anaconda3\Library\plugins\platforms | + | |
- | vers le dossier | + | |
- | Continuum\Anaconda3 | + | |
- | * Sous Windows 10 problème lorsque on teste <code>conda list</code> renvoit l'erreur : <code>conda: command not found error</code>. | + | \\ |
- | SOLUTION: | + | |
- | * voir cette documentation : [[https://support.anaconda.com/hc/en-us/articles/360023863234-Conda-command-not-found-error|Conda: "command not found" error]], complété par **[[https://stackoverflow.com/questions/44597662/conda-command-is-not-recognized-on-windows-10?answertab=active#tab-top|ces explications très utiles]]**. | + | |
- | * voir éventuellement cette [[https://stackoverflow.com/questions/18675907/how-to-run-conda?answertab=active#tab-top|documentation supplémentaire]] | + | |
- | ===== Linux Ubuntu 18.04 - Mint 19 ===== | ||
- | [Étapes suivies dans Linux Mint 19.3 Tricia - Pierre 2020-04-02] | + | \\ |
- | Création de l'environnement en indiquant seulement la version python | ||
- | <code>conda create --name py37_gitlab python=3.7</code> | ||
- | activation de l'environnement | ||
- | <code>conda activate py37_gitlab</code> | ||
- | installation de jupyterlab 1.2.7 | ||
- | <code>conda install jupyterlab=1.2.7</code> | ||
- | installation de nodejs (qui n'est pas installé avec jupyterlab 1.2.7 d'où problème ensuite pour gérer les extensions) : | + | ====== Installation de JupyterLab ====== |
- | <code>conda install -c conda-forge nodejs</code> | ||
- | installation de jupyterlab-git : | + | ===== Ajout du canal conda-forge et installation de Mamba ===== |
- | <code>conda install -c conda-forge jupyterlab-git</code> | ||
- | lancer jupyterlab : | + | * Lister les environnemnents disponibles <code>conda env list</code> |
+ | * Ajouter le canal 'conda-forge' : <code>conda config --add channels conda-forge</code> | ||
+ | * Vérifier l'ajout du canal <code>conda info</code>: apparait la liste des canaux | ||
+ | * Vérifier la liste des canaux prioritaires: <code>conda config --show channels</code> doit donner comme résultat: | ||
+ | <code>channels: | ||
+ | - conda-forge | ||
+ | - defaults | ||
+ | </code> | ||
+ | * Si l'ordre est inversé, effectuer: <code>conda config --set channel_priority strict</code>, puis vérifier l'ordre des canaux avec <code>conda config --show channels</code> 'conda-forge' doit être en premier. | ||
- | <code>jupyter lab</code> | + | * Installation de Mamba dans l'environnement de base de Conda: <code>conda install mamba -n base</code> |
+ | * Une mise à jour de beaucoup de paquets est effectuée | ||
+ | * Test de l'installation de Mamba: | ||
+ | * <code>mamba info</code> | ||
+ | * <code>conda list</code>, cf. le paquet mamba. | ||
+ | * Cf. la [[https://mamba.readthedocs.io/en/latest/user_guide/mamba.html|documentation de Mamba]] | ||
+ | ===== Installation et activation de JupyterLab ===== | ||
- | * Ensuite, suivre les indications qui suivent pour les extensions jupyterlab-git (accepter la proposition d'installation du "Server companion" jupyterlab_git (avec un underscore), puis jupyterlab-github. :!: Après avoir cliqué sur l'icône "puzzle" (pour les extensions), il faut attendre un peu avant que la liste des extensions s'affiche. | + | * Avant toute nouvelle installation: <code>mamba update mamba</code> |
+ | * Créer ensuite un environnement contenant Jupyter Lab: <code>mamba create --name <envname> python=<version></code>. | ||
+ | * Pour **MacOS** exécuter: <code>mamba create --name env_jupyterlab python=3.9 jupyterlab</code> | ||
+ | * Pour **Windows** la même chose sauf si système à 32-bit. | ||
+ | * Pour 32 bits exécuter: <code>mamba create --name env_jupyterlab python=3.9 jupyterlab pywin32</code> | ||
- | :!: Mais il reste un problème : <code> "nbdime-jupyterlab@2.0.0" is not compatible with the current JupyterLab </code>. | + | * Lorsque l'exécutable demande : installer Y/n répondre Y = yes |
+ | * Lister les environnemnents disponibles: <code>conda env list</code> | ||
- | J'ai donc essayé de remplacer la version de nbdime.2.0.0 par la nbdime.1.1.0. D'abord on désactive nbdime : | ||
- | <code> jupyter nbextension disable --py nbdime</code> | + | * Activer le nouvel environnement : <code>conda activate env_jupyterlab</code> |
+ | * Pour désactiver l'environnement et revenir à l'environnement 'base: <code>conda deactivate</code> | ||
+ | * Déplacer la position du Terminal vers le dossier dans lequel on mettra les notebooks (et les sous-dossiers des projets Github):<code>cd /root/folder/python_notebooks/</code> Syntaxe Windows:<code>cd ???? /root/folder/python_notebooks/</code> | ||
+ | |||
+ | * Démarrer Juypter Lab : <code>jupyter lab</code> | ||
+ | * Pour **arrêter Jupyter Lab**: taper dans le Terminal ou Prompt où il est actif **alt-C** pour Windows ou **ctrl-C** pour Mac. | ||
+ | * Si on veut ajouter des nouveau paquets à l'environnement, **arrêter Jupyter Lab** , puis ajouter les paquets à l'environnement actif, dans ce cas //py37_gitlab// puis relancer le Lab. | ||
+ | * ATTENTION: mieux vaut toutefois garder l'environnement 'env_jupyterlab' uniquement pour JupyterLab et ses extentions. Pour l'analyse de données, créer des environnements dédiés qui seront activés dans jupyterlab. | ||
+ | * Pour utiliser différents environnements, dédiés à différents projets ou technologies (NLP, etc.) **voir les [[python:environnement_conda&#creer_un_nouvel_environnement_atelier_et_l_ajouter_aux_kernels_de_jupyter_lab|instructions sur cette page]]** | ||
- | Puis désinstallation : | ||
- | <code>jupyter labextension uninstall nbdime-jupyterlab</code> | + | \\ |
+ | -------------- | ||
- | Installation de la version 1.1.0 | + | ====== Utilisateurs avancés – Plugins de JupyterLab ====== |
- | <code>jupyter labextension enable nbdime@1.1.0</code> | ||
- | <code>jupyter lab build</code> | + | ATTENTION : l'installation de ce qui suit __n'est pas nécessaire__ (à éviter pour les utilisateurs·trices non expérimenté·e·s). |
- | <code>jupyter labextension install nbdime-jupyterlab</code> | + | \\ |
- | Après avoir fermé puis relancé Jupyterlab le problème semble avoir disparu. En tout cas, il est possible d'accéder au carnet jupyter **import_csv.ipynb** évoqué plus loin. | + | ===== Plugin jupyterlab-github ===== |
- | ====== Configuration des plugins JupyterLab ====== | ||
- | ===== Plugin jupyterlab-github ===== | + | * Documentation [[https://github.com/jupyterlab/jupyterlab-github|JupyterLab GitHub]]. |
+ | * **Arrêter Jupyter Lab** (dans le Terminal ou Prompt où il est actif taper **alt-C** pour Windows ou **ctrl-C** pour Mac). | ||
+ | * Vérifier qu'on est bien dans l'environnement 'py37_jupyterlab' | ||
+ | * Exécuter: <code>conda install -c conda-forge nodejs</code> | ||
+ | * Exécuter: <code> jupyter labextension install @jupyterlab/github</code> | ||
+ | * Démarrer Juypter Lab : <code>jupyter lab</code> | ||
+ | |||
+ | |||
+ | Sur l'interface JupyterLab, à gauche vous avez une barre de menu. | ||
+ | \\ | ||
+ | Cliquez sur l'icône Puzzle "**Extension Manager**" (gestionnaire des plugins). Un message de sécurité indique que les Plugins (extensions) de JupyterLab sont produits par la commuanté et que donc il peut y avoir des risques de sécurité. C'est bon à savoir mais il faut tout de même répondre: OUI. | ||
- | Sur l'interface JupyterLab, à gauche vous avez une barre de menu. Cliquez sur l'icône Puzzle "**Extension Manager**" (gestionnaire des plugins). | ||
Dans la barre de recherche, cherchez "**github**". Le plugin qui nous intéresse est celui-ci : | Dans la barre de recherche, cherchez "**github**". Le plugin qui nous intéresse est celui-ci : | ||
Ligne 148: | Ligne 166: | ||
Dans le cadre de l'atelier Données FAIR (FAIR Data), nous pouvons par exemple utiliser **atterebf** comme nom d'utilisateur. Une liste de dépôt github s'affiche, sélectionnez **atelier_arhn**, puis **import_csv_xls**, et enfin le carnet jupyter **import_csv.ipynb** (qui est en lecture seule). | Dans le cadre de l'atelier Données FAIR (FAIR Data), nous pouvons par exemple utiliser **atterebf** comme nom d'utilisateur. Une liste de dépôt github s'affiche, sélectionnez **atelier_arhn**, puis **import_csv_xls**, et enfin le carnet jupyter **import_csv.ipynb** (qui est en lecture seule). | ||
+ | |||
+ | \\ | ||
===== Plugin jupyterlab-git ===== | ===== Plugin jupyterlab-git ===== | ||
Ligne 166: | Ligne 186: | ||
Plus haut vous pouvez aussi constater "Current Repository", "Current Branch" qui vous permettra de gérer les branches. | Plus haut vous pouvez aussi constater "Current Repository", "Current Branch" qui vous permettra de gérer les branches. | ||
+ | |||
+ | -------- | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== JupyterLab git extension ===== | ||
+ | |||
+ | |||
+ | jupyterlab-git | ||
+ | |||
+ | jupyterlab-git jupyterlab-github | ||
+ | |||
+ | |||
+ | Documentation concernant //JupyterLab git extension//: | ||
+ | * [[https://github.com/jupyterlab/jupyterlab-git|jupyterlab / jupyterlab-git]] | ||
+ | * Tutoriel [[https://annefou.github.io/jupyter_publish/02-git/index.html|JupyterLab git extension]] | ||
+ | * Un tutoriel très intéressant sur Jupyter Lab dont la partie 3 concerne GitHub: [[http://jakevdp.github.io/blog/2017/03/03/reproducible-data-analysis-in-jupyter/|Reproducible Data Analysis in Jupyter]] | ||
+ | |||
+ | **/!\ Avant de faire le tutoriel, réfléchissez si vous devez créer un nouveau environnement virtuel, si vous avez déjà d'autres projets en cours.** Il est donc préférable de créer un environnement en ligne de commande. Voir ci-dessous pour l'installation de l'environnement. | ||
+ | \\ Une fois que vous avez activé votre environnement dans Miniconda, pensez à installer **JupyterLab**. Jupyter Notebook sera automatiquement installé avec. | ||
+ | \\ Une fois JupyterLab installé, lancez le, il s'affichera sur votre navigateur. | ||
+ | |||
+ | |||
+ | Les paquets pour conda: | ||
+ | * [[https://anaconda.org/conda-forge/jupyterlab-git|jupyterlab-git]] ([[https://github.com/jupyterlab/jupyterlab-git|documentation sur GitHub]]) | ||
+ | * [[https://anaconda.org/krinsman/jupyterlab-github|jupyterlab-github]] ([[https://github.com/jupyterlab/jupyterlab-github|Documentation sur Github]]) | ||
+ | |||
+ | |||
+ | |||
+ | \\ | ||
+ | ====== Problèmes / Bugs ====== | ||
+ | |||
+ | Voir les [[python:bugs_connus_conda|Problèmes / Bugs]] connus concernant l'installation de Miniconda, JupyterLab et ses plugins |