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 | ||
python:environnement_conda [2022/03/12 12:27] Francesco Beretta [Métadonnées et update de Conda] |
python:environnement_conda [2024/03/11 18:46] (Version actuelle) Francesco Beretta [Activer un environnement dans Jupyter Lab] |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
- | ====== Métadonnées et update de Conda / Mamba ====== | + | ====== 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. | [[https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html#managing-environments|Documentation et tutoriel]] concernant l'utilisation de Conda. | ||
- | |||
- | [[https://mamba.readthedocs.io/en/latest/user_guide/mamba.html|Documentation]] concernant l'utilisation de Mamba. Mamba est une sorte de sur-couche logicielle exécute la plupart des commandes de Conda de manière plus performante. Dans la plupart des cas les appel conda / mamba sont interchangeables. | ||
Ligne 20: | Ligne 18: | ||
<code >conda update conda</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. | ||
- | |||
Ligne 35: | Ligne 26: | ||
Lorsqu'on souhaite créer un nouvel environnement Conda on peut procéder en listant les librairies à installer dans la commande de création ou en convoquant un texte qui contient la liste des librairies. Voici un exemple de la première méthode qui ajoute des librairies permettant de traiter des documents HTML et XML Le nouvel environnement est | Lorsqu'on souhaite créer un nouvel environnement Conda on peut procéder en listant les librairies à installer dans la commande de création ou en convoquant un texte qui contient la liste des librairies. Voici un exemple de la première méthode qui ajoute des librairies permettant de traiter des documents HTML et XML Le nouvel environnement est | ||
- | <code> mamba env create --name py39_html_xml python=3.9 ipykernel requests lxml </code> | + | <code> conda create --name py311_data_analysis python=3.11 ipykernel requests lxml pandas plotly matplotlib</code> |
Lister les librairies installées (seulement celles déclarées explicitement): | Lister les librairies installées (seulement celles déclarées explicitement): | ||
- | <code>mamba env export --name py39_html_xml --from-history</code> | + | <code>conda env export --name py311_data_analysis --from-history</code> |
Lister toutes les librairies et dépendances installées: | Lister toutes les librairies et dépendances installées: | ||
- | <code>conda activate py39_html_xml</code> | + | <code>conda activate py311_data_analysis</code> |
On est ainsi positionné dans l'environnement et on liste les librairies: | On est ainsi positionné dans l'environnement et on liste les librairies: | ||
Ligne 59: | Ligne 50: | ||
Avant de procéder, sauvegarder la liste des librairies de l'environnement: | Avant de procéder, sauvegarder la liste des librairies de l'environnement: | ||
- | <code>mamba env export --name py39_analyse --from-history > [exemple:] C:\Users\your_name\Documents\espace_python\environments\py39_analyse_20220228.yml</code> | + | <code>conda env export --name py311_data_analysis --from-history > [exemple:] C:\Users\your_name\Documents\espace_python\environments\py311_data_analysis_20220228.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: | 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>mamba env create --file [exemple:] C:\Users\your_name\Documents\espace_python\environments\py39_analyse_20220228.yml</code> | + | <code>conda env create --file [exemple:] C:\Users\your_name\Documents\espace_python\environments\py311_data_analysis_20220228.yml</code> |
* Vérifier ensuite les spécifications dans l'entrepôt de bibliothèques : [[https://anaconda.org/anaconda/seaborn | anaconda / packages / seaborn]] | * Vérifier ensuite les spécifications dans l'entrepôt de bibliothèques : [[https://anaconda.org/anaconda/seaborn | anaconda / packages / seaborn]] | ||
Ligne 68: | Ligne 59: | ||
Puis installer la nouvelle bibliothèque: | Puis installer la nouvelle bibliothèque: | ||
- | <code>mamba install seaborn</code> | + | <code>conda install seaborn</code> |
+ | Pour lister les librairies installées dans l'environnement Conda actif: | ||
+ | <code>conda env export --from-history</code> | ||
- | ====== Supprimer un environnement: ====== | + | |
+ | ===== Supprimer un environnement: ===== | ||
<code> conda env remove --name ENVIRONMENT </code> | <code> conda env remove --name ENVIRONMENT </code> | ||
+ | \\ | ||
- | ====== Créer un nouvel environnement 'shn-pyshs' à partir d'une liste de librairie et l'ajouter aux kernels de Jupyter Lab ====== | ||
- | On présente ici la création d'un environnement Conda à partir d'une liste de librairies. | ||
- | En règle générale, on utilise un environnement Conda par projet ou dépôt de code. 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. Généralement les dépôts de code indiquent la liste des paquets à installer. | + | ====== Activer un environnement dans Jupyter Lab ====== |
- | 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. | + | <code>conda activate py311_data_analysis</code> |
- | Cf. ce [[https://medium.com/@ace139/enable-multiple-kernels-in-jupyter-notebooks-6098c738fe72|billet de blog]] | + | ATTENTION : seulement __si non installé__, installer ipykernel (et toues les dépendances ipython) |
+ | <code>conda install ipykernel</code> | ||
- | ===== Recette ===== | + | Puis activer l'ipykernel pour cet utilisateur |
+ | <code>python -m ipykernel install --user --name py311_data_analysis --display-name "py311_data_analysis"</code> | ||
- | D'abord cloner le [[https://github.com/Sciences-historiques-numeriques/shn-pyshs|dépôt de code shn-pyshs]] dans le dossier de travail Python. | + | Lister les kernels présents: |
+ | <code>jupyter kernelspec list</code> | ||
+ | Si tout s'est bien passé, on y trouvera le kernel '//py311_data_analysis//' | ||
- | + | Désactier l'environnement: | |
- | Créer d'abord le nouvel environnement **//shn-pyshs//** avec toutes ses librairies: | + | |
- | <code>mamba create --name shn-pyshs --file C:\Users\your_name\Documents\espace_python\shn-pyshs\requirements.yml</code> | + | |
- | + | ||
- | + | ||
- | ATTENTION : seulement si non installé, installer ipykernel (et toues les dépendances ipython) | + | |
- | <code>conda activate shn-pyshs</code> | + | |
- | <code>conda install ipykernel</code> | + | |
<code>conda deactivate</code> | <code>conda deactivate</code> | ||
- | Activer l'ipykernel pour cet utilisateur | ||
- | <code>python -m ipykernel install --user --name shn-pyshs --display-name "shn-pyshs"</code> | ||
- | Désactier l'environnement: | ||
- | <code>conda deactivate</code> | ||
- | Activer l'environnement principal Jupyter Lab: | ||
- | <code>conda activate env_jupyterlab</code> | ||
- | Lister les kernels présents: | + | Plus tard, lancer JupyterLab: |
- | <code>jupyter kernelspec list</code> | + | |
- | Si tout s'est bien passé, on y trouvera le kernel '//shn-pyshs//' | + | |
- | + | ||
- | Lancer JupyterLab: | + | |
<code>jupyter lab</code> | <code>jupyter lab</code> | ||
Ligne 133: | Ligne 111: | ||
Pour supprimer un kernel | Pour supprimer un kernel | ||
<code>jupyter kernelspec uninstall KERNELNAME</code> | <code>jupyter kernelspec uninstall KERNELNAME</code> | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | |||
+ | ====== Créer un nouvel environnement 'shn-pyshs' à partir d'une liste de librairie et l'ajouter aux kernels de Jupyter Lab ====== | ||
+ | |||
+ | On présente ici la création d'un environnement Conda à partir d'une liste de librairies. | ||
+ | |||
+ | |||
+ | En règle générale, on utilise un environnement Conda par projet ou dépôt de code. 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. Généralement les dépôts de code indiquent la liste des paquets à installer. | ||
+ | |||
+ | 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 ===== | ||
+ | |||
+ | D'abord cloner le [[https://github.com/Sciences-historiques-numeriques/shn-pyshs|dépôt de code shn-pyshs]] dans le dossier de travail Python. | ||
+ | |||
+ | |||
+ | Créer d'abord le nouvel environnement **//shn-pyshs//** avec toutes ses librairies: | ||
+ | <code>conda env create --name py310_data_analysis --file C:\Users\your_name\Documents\espace_python\shn-pyshs\requirements.yml</code> | ||
+ | |||