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:environnement_conda [2020/05/13 17:07] Francesco Beretta |
python:environnement_conda [2022/02/28 01:14] Francesco Beretta [Métadonnées et update de Conda] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
Revenir à [[python:anaconda|Installer et configurer son environnement Python]] | Revenir à [[python:anaconda|Installer et configurer son environnement Python]] | ||
+ | |||
+ | |||
+ | ====== Métadonnées et update de Conda ====== | ||
+ | |||
+ | [[https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html#managing-environments|Documentation et tutoriel]] concernant l'utilisation de Conda | ||
+ | |||
+ | |||
+ | <code > | ||
+ | conda --version | ||
+ | conda info | ||
+ | conda info --envs | ||
+ | conda env list | ||
+ | </code> | ||
+ | |||
+ | <code >conda update conda</code> | ||
+ | |||
+ | On peut alternativement installer les environnements avec Mamba, ce que nous ferons ici. | ||
+ | On exécute donc préalablement : | ||
+ | <code >mamba update mamba</code> | ||
+ | |||
+ | La plupart des commandes de Mamba sont équivalentes à celles de Conda, la performance de gestion d'environnements supérieure. | ||
+ | |||
+ | |||
+ | |||
+ | ====== Créer un nouvel environnement ====== | ||
+ | |||
+ | Documentation: [[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html|managing environments]] | ||
+ | |||
+ | |||
+ | <code> conda create --name atelier python=3.7 ipykernel pathlib plotly matplotlib scipy pandas xlrd seaborn statsmodels patsy </code> | ||
+ | |||
+ | Lister les bibliothèques de fonctions installées: | ||
+ | <code>conda list</code> | ||
+ | |||
+ | Vérifier si telle bibliothèque (ici BeautifulSoup) est installée: | ||
+ | <code>conda search seaborn</code> | ||
+ | |||
+ | |||
+ | Si ce n'est pas le cas, d'abord sauvegarder la configuration de l'environnement: | ||
+ | <code>conda env export --name atelier > [exemple:] /Volumes/MyDisk/python_notebooks/_environments/atelier_20200507.yml</code> | ||
+ | |||
+ | En cas de pépin lors de l'installation du nouveau paquet, on peut restaurer (c'est-à-dire recréer) l'environnement dans l'état précis où il était lors de la sauvegarde: | ||
+ | <code>conda env create --file [exemple:] /Volumes/MyDisk/python_notebooks/_environments/atelier_20200507.yml</code> | ||
+ | |||
+ | * Vérifier ensuite les spécifications dans l'entrepôt de bibliothèques : [[https://anaconda.org/anaconda/seaborn | anaconda / packages / seaborn]] | ||
+ | * Si le paquet n'existe pas pour Conda, on peut recourir à PIP, depuis Conda, mais voici les **[[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#using-pip-in-an-environment|précautions à prendre]]**. | ||
+ | |||
+ | Puis installer la nouvelle bibliothèque: | ||
+ | <code>conda install seaborn</code> | ||
+ | |||
+ | Pour supprimer un environnement: | ||
+ | <code> conda env remove --name ENVIRONMENT --all</code> | ||
+ | |||
+ | |||
+ | |||
+ | ====== Créer un nouvel environnement 'atelier' et l'ajouter aux kernels de Jupyter Lab ====== | ||
+ | |||
+ | En règle générale, on utilise un environnement Conda par projet. Ceci permet de garantir une stabilité du code et d'éviter que des ajouts de paquets ou des mises à jour produisent des effets non souhaités. | ||
+ | |||
+ | Aussi, il est fortement déconseillé de travailler et d'ajouter des paquets ou librairies à l'environnement //base// de Conda: il faut créer toujours de nouveaux environnements de travail. | ||
+ | |||
+ | Ceux-ci peuvent devenir assez volumineux si on y ajoute tout type de bibliothèque de fonctions. Il est donc opportun de regrouper les bibliothèques, par exemple, par projet ou par thématiques: NLP, graphes, visualisations, machine learning, etc. | ||
+ | |||
+ | Dans un notebook Jupyter on pourra ensuite choisir entre les différents environnements moyennant qu'on suive les instructions indiquées ci-dessous. | ||
+ | |||
+ | Cf. ce [[https://medium.com/@ace139/enable-multiple-kernels-in-jupyter-notebooks-6098c738fe72|billet de blog]] | ||
+ | |||
+ | |||
+ | |||
+ | ===== Recette ===== | ||
+ | |||
+ | |||
+ | Créer d'abord le nouvel environnement **//atelier//** avec toutes ses librairies: | ||
+ | <code>conda create --name atelier python=3.7 matplotlib</code> | ||
+ | |||
+ | L'activer: | ||
+ | <code>conda activate atelier</code> | ||
+ | |||
+ | Installer ipykernel (et toues les dépendances ipython) | ||
+ | <code>conda install ipykernel</code> | ||
+ | |||
+ | Activer l'ipykernel pour cet utilisateur | ||
+ | <code>python -m ipykernel install --user --name atelier --display-name "Py 3.7 atelier"</code> | ||
+ | |||
+ | Désactier l'environnement: | ||
+ | <code>conda deactivate</code> | ||
+ | |||
+ | Activer l'environnement principal Jupyter Lab: | ||
+ | <code>conda activate py37_gitlab</code> | ||
+ | |||
+ | Lister les kernels présents: | ||
+ | <code>jupyter kernelspec list</code> | ||
+ | Si tout s'est bien passé, on y trouvera le kernel '//atelier//' | ||
+ | |||
+ | Lancer JupyterLab: | ||
+ | <code>jupyter lab</code> | ||
+ | |||
+ | Dans l'interface graphique, dans un carnet, choisir le kernel et environnement souhaité. | ||
+ | |||
+ | **N.B. 1** On peut, dans une autre fenêtre de terminal, activer l'environnement '//atelier//' et lui ajouter de nouvelles bibliothèques. Puis on redémarre le kernel et elles seront activables. | ||
+ | |||
+ | |||
+ | **N.B. 2** Eviter d'ajouter des bibliothèques à l'environnement de base de JupyterLab où a été installé //jupyterlab-github// pour préserver cet environnement de toute corruption | ||
+ | |||
+ | |||
+ | Pour supprimer un kernel | ||
+ | <code>jupyter kernelspec uninstall KERNELNAME</code> | ||
+ |