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 [2019/09/24 22:36] Francesco Beretta [Installation de Miniconda] |
python:anaconda [2020/10/03 16:44] Francesco Beretta [Installation de JupyterLab et ses plugins] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | Retour à l'accueil [[python:accueil|Python pour les historiens]] | ||
- | ===== Tutoriels / installation ===== | + | ======= Installer et configurer son environnement de travail Python ======= |
- | * [[https://www.anaconda.com/what-is-anaconda/|Ce qu'est Anaconda]] | + | ===== Gestion de l'environnement de travail ===== |
- | * Insaller [[https://www.anaconda.com/download/|Anaconda]] ou [[https://conda.io/miniconda.html|Miniconda]], dans les deux cas la **version Python 3.7** | + | |
- | * Sous Windows choisir la version adaptée au système: 32 ou 64 bits | + | [...] |
+ | |||
+ | |||
+ | |||
+ | ===== Gestion des environnements virtuels ===== | ||
+ | |||
+ | |||
+ | 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). De plus, Conda permet 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 pouvant être utilisée est la **3.7**. | ||
+ | * 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://zestedesavoir.com/tutoriels/1448/installer-un-environnement-de-developpement-python-avec-conda|Tutoriel en français]] concernant l'utilisation de //conda//. | ||
- | * [[https://conda.io/docs/|Tutoriel en anglais]] de conda | + | * [[https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html|Tutoriel en anglais]] de conda |
===== Installation de Miniconda ===== | ===== Installation de Miniconda ===== | ||
- | A préférer car environnement 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). |
- | * Télécharger Miniconda et installer en suivant les instructions de l'installateur | + | * 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. |
- | * Relever l'emplacement d'installation | + | |
- | * En général, C:\Users\[nom utilisatuer]\Minconda3 | + | |
- | * Cocher : Conda comme installation Python par défaut | + | |
- | * Ne pas cocher "Ajouter au PATH" mais utiliser le programme //Anaconda prompt// après installation | + | |
+ | ===== Windows et macOS ===== | ||
+ | |||
+ | * Relever l'emplacement d'installation | ||
+ | * En général sous Windows C:\Users\[nom utilisateur]\Miniconda3 | ||
+ | * Cocher : **Conda comme installation Python par défaut** | ||
+ | * **Ne pas cocher**: "Ajouter au PATH" ! | ||
+ | * [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 version de conda: <code>conda info</code> | ||
+ | * la liste des paquets installés dans l'environnement de base: <code>conda list</code> | ||
+ | * 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> | ||
- | * Créer ensuite un environnement contenant Jupyter Lab: <code>conda create --name py37_lab python=3.7 jupyterlab pywin32</code> | + | * Lorsque l'exécutable imprime la liste des paquets à mettre à jour et demande: installer y/n ? répondre y = yes |
- | * Activer le nouvel environnement : <code>conda activate py37_lab</code> | + | |
- | * Démarrer Juypter Lab : <code>jupyter lab</code> | + | |
- | * Sours Windows, si le kernel ne démarre pas, avec l'erreur "manque win32api", insaller: <code>conda install pywin32</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_lab// puis relance le Lab. | + | |
+ | |||
+ | |||
+ | ===== Gérer un environnement avec Conda ===== | ||
\\ | \\ | ||
+ | Pages dédiées dans ce Wiki: | ||
+ | * [[intro_histoire_numerique:conda_histoire_numerique|Environnement pour le cours histoire numérique]] | ||
+ | * [[python:environnement_conda|Créer et gérer un environnement Conda]] (dans ce tutoriel Python) | ||
+ | \\ | ||
Ligne 41: | Ligne 74: | ||
- | -------- | ||
- | ===== Problèmes / Bugs ===== | ||
- | ==== Problème au lancement de Anaconda ==== | ||
- | Sous Windows 7 problème au lancement de Anaconda. | ||
- | Solution qui marche ([[https://github.com/ContinuumIO/anaconda-issues/issues/1467|Source]]) : | + | ====== Installation de JupyterLab et ses plugins ====== |
- | 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 "" | ||
- | SOLUTION: | + | |
- | Copier le dossier | + | |
- | Continuum\Anaconda3\Library\plugins\platforms | + | * Lister les environnemnents disponibles <code>conda env list</code> |
- | vers le dossier | + | * Ajouter le canal 'conda-forge' : <code>conda config --add channels conda-forge</code> |
- | Continuum\Anaconda3 | + | * Vérifier l'ajout du canal <code>conda info</code>: apparait la liste des canaux |
+ | |||
+ | |||
+ | * Créer ensuite un environnement contenant Jupyter Lab: conda create --name <envname> python=<version>. | ||
+ | * Pour **MacOS** exécuter: <code>conda create --name py37_jupyterlab python=3.7 jupyterlab=1.2.7 requests</code> | ||
+ | * Pour **Windows** exécuter: <code>conda create --name py37_jupyterlab python=3.7 jupyterlab pywin32 requests</code> | ||
+ | |||
+ | * En cas d'erreur, tenter: <code>conda create --name [nom de dossier] python=3.8 jupyterlab pywin32 jupyterlab-git requests -c conda-forge</code> | ||
+ | |||
+ | jupyterlab-git | ||
+ | |||
+ | jupyterlab-git jupyterlab-github | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | * 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. | ||
+ | * 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]] | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | ===== 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. | ||
+ | \\ 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]]) | ||
+ | |||
+ | |||
+ | |||
+ | ===== Plugin jupyterlab-github ===== | ||
+ | |||
+ | 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 : | ||
+ | |||
+ | {{:wiki:pluginjupyterlabgithub.png|}} | ||
+ | |||
+ | Cliquez "Install" et validez le popup qui s'affiche. Une fois l'extension installée, JupyterLab vous demandera de "Rebuild". Cliquez **Rebuild** dans la barre bleue qui est apparue au dessus du gestionnaire des plugins. Après quelques instants, un popup qui confirme le succès du Rebuild s'affiche, cliquez sur **Reload**. | ||
+ | |||
+ | Observez maintenant le menu à gauche : si vous voyez une icône avec un chat {{:wiki:logogithub.png?30|}} : l'installation du plugin est un succès. Cliquez dessus. Ce plugin vous demande d'entrer un nom d'utilisateur Github afin d'accéder à ses dépôts. | ||
+ | |||
+ | 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 ===== | ||
+ | |||
+ | Pour les utilisateurs les plus avancés, maîtrisant le GIT, ce plugin peut vous être utile pour versionner vos travaux. Fermez toutes instances de JupyterLab. | ||
+ | |||
+ | Ouvrez un terminal, activez votre environnement virtuel (conda activate <envname>) et installez le package jupyterlab-git: **pip install --upgrade jupyterlab-git** | ||
+ | |||
+ | Lancez JupyterLab. Un message vous demandera d'installer les extensions jupyterlab-git et nbdime-jupyter. Acceptez. Patientez un moment le temps que le Rebuild se fasse. | ||
+ | |||
+ | Observez les onglets : l'icône de Git apparaît, allez-y dessus. | ||
+ | |||
+ | A la base, il n'y a aucun dépôt git reconnu. Cliquez Find a repository. Il vous menera en fait à l'onglet Explorateur de dossiers. | ||
+ | |||
+ | Vous avez la aussi une nouvelle icône Git à droite de la petite barre de menus en haut qui vous proposera de Cloner un dépôt (Clone a repository), ou bien allez dans un dossier qui vous intéresse avec l'explorateur de dossiers, positionnez vous dans le dossier concerné, allez sur "Git" dans le menu horizontal en haut, choisissez "Init", un popup vous demande si vous êtes sûr de transformer le dossier en dossier git : confirmez. Attention, en fonction du volume du dossier, le traitement peut être long, privilégiez un dossier avec peu de fichiers. | ||
+ | |||
+ | Revenez sur l'onglet Git : vous verrez qu'il est possible de gérer les fichers. Les fichiers peuvent être "Untracked" (non suivis), "Changed" (modifiés mais non admis dans le prochain commit) ou "Staged" (admis dans le prochain commit). Plus bas dans la colonne, vous pouvez écrire le message du commit et envoyer le commit sur votre branche actuelle. | ||
+ | |||
+ | Plus haut vous pouvez aussi constater "Current Repository", "Current Branch" qui vous permettra de gérer les branches. | ||
+ | |||
+ | |||
+ | -------- | ||
+ | |||
+ | \\ | ||
+ | ====== Problèmes / Bugs ====== | ||
+ | |||
+ | Voir les [[python:bugs_connus_conda|Problèmes / Bugs]] connus concernant l'installation de Miniconda, JupyterLab et ses plugins |