Retour à l'accueil Python pour les historiens

Installer et configurer son environnement de travail Python

Gestion de l'environnement de travail

[…]

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. 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é 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

Ce qu'est Anaconda – ce qu'est Conda

Installer 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 ? 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.

Tutoriel en français concernant l'utilisation de conda.

Tutoriel en anglais de conda

Installation de Miniconda

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. Sous Windows et Linux choisir la version adaptée au système : 32 ou 64 bits.

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

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:

Vérifier l'installation de Conda en exécutant la commande ci-dessous qui donne la version de conda:

conda info

la liste des paquets installés dans l'environnement de base:

conda list

la liste des environnements disponibles:

conda env list

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

conda: command not found error

voir Problèmes / Bugs ci-dessous.

Exécuter tout d'abord une mise à jour de Conda:

conda update conda

Lorsque l'exécutable imprime la liste des paquets à mettre à jour et demande: installer y/n ? répondre y = yes

Gérer un environnement avec Conda

Pages dédiées dans ce Wiki:

Environnement pour le cours histoire numérique

Créer et gérer un environnement Conda (dans ce tutoriel Python)

Installation de JupyterLab

Ajout du canal conda-forge et installation de Mamba

Lister les environnemnents disponibles

conda env list

Ajouter le canal 'conda-forge' :

conda config --add channels conda-forge

Vérifier l'ajout du canal

conda info

: apparait la liste des canaux

Vérifier la liste des canaux prioritaires:

conda config --show channels

doit donner comme résultat:

channels:
- conda-forge
- defaults

Si l'ordre est inversé, effectuer:

conda config --set channel_priority strict

, puis vérifier l'ordre des canaux avec

conda config --show channels

'conda-forge' doit être en premier.

Installation de Mamba dans l'environnement de base de Conda:

conda install mamba -n base

Une mise à jour de beaucoup de paquets est effectuée

Test de l'installation de Mamba:

mamba info

conda list

, cf. le paquet mamba.

Cf. la documentation de Mamba

Installation et activation de JupyterLab

Avant toute nouvelle installation:

mamba update mamba

Créer ensuite un environnement contenant Jupyter Lab:

mamba create --name <envname> python=<version>

.

Pour MacOS exécuter:

mamba create --name env_jupyterlab python=3.9 jupyterlab

Pour Windows la même chose sauf si système à 32-bit.

Pour 32 bits exécuter:

mamba create --name env_jupyterlab python=3.9 jupyterlab pywin32

Lorsque l'exécutable demande : installer Y/n répondre Y = yes

Lister les environnemnents disponibles:

conda env list

Activer le nouvel environnement :

conda activate env_jupyterlab

Pour désactiver l'environnement et revenir à l'environnement 'base:

conda deactivate

Déplacer la position du Terminal vers le dossier dans lequel on mettra les notebooks (et les sous-dossiers des projets Github):

cd /root/folder/dossier_python/

Syntaxe Windows:

cd C:\Users\My_Name\Documents\dossier_python

Démarrer Juypter Lab :

jupyter lab

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. voir les instructions sur cette page

Pour utiliser différents environnements, dédiés à différents projets ou technologies (NLP, etc.) voir les instructions sur cette page

Utilisateurs avancés – Plugins de JupyterLab

ATTENTION : l'installation de ce qui suit n'est pas nécessaire (à éviter pour les utilisateurs·trices non expérimenté·e·s).

Plugin jupyterlab-github

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

conda install -c conda-forge nodejs

Exécuter:

jupyter labextension install @jupyterlab/github

Démarrer Juypter Lab :

jupyter lab

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.

Dans la barre de recherche, cherchez “github”. Le plugin qui nous intéresse est celui-ci :

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

JupyterLab git extension

jupyterlab-git

jupyterlab-git jupyterlab-github

Documentation concernant JupyterLab git extension:

jupyterlab / jupyterlab-git

Tutoriel JupyterLab git extension

Un tutoriel très intéressant sur Jupyter Lab dont la partie 3 concerne GitHub: 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:

jupyterlab-git (documentation sur GitHub)

jupyterlab-github (Documentation sur Github)

Problèmes / Bugs

Voir les Problèmes / Bugs connus concernant l'installation de Miniconda, JupyterLab et ses plugins