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 21:10] Francesco Beretta [Créer un nouvel environnement] |
python:environnement_conda [2022/02/28 02:24] Francesco Beretta [Recette] |
||
---|---|---|---|
Ligne 13: | Ligne 13: | ||
conda info | conda info | ||
conda info --envs | conda info --envs | ||
+ | conda env list | ||
</code> | </code> | ||
<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 24: | Ligne 31: | ||
- | <code> conda create --name atelier python=3.7 jupyterlab=1.2.7 jupyterlab-git </code> | + | <code> mamba create --name py39_analyse python=3.9 ipykernel pathlib plotly matplotlib scipy pandas xlrd statsmodels patsy </code> |
Lister les bibliothèques de fonctions installées: | Lister les bibliothèques de fonctions installées: | ||
- | <code>conda list</code> | + | <code>mamba env list</code> |
- | Vérifier si telle bibliothèque (ici BeautifulSoup) est installée: | + | <code>mamba activate py39_analyse</code> |
- | <code>conda search beautifulsoup4</code> | + | |
+ | Manque la bibliothèque de visualisation: 'seaborn'. | ||
+ | |||
+ | Vérifier si elle est disponibles: | ||
+ | <code>conda search seaborn</code> | ||
+ | |||
+ | Vérifier la version disponible (et conseillée) sur ce site : [[https://anaconda.org/search|Anaconda search package]] | ||
Si ce n'est pas le cas, d'abord sauvegarder la configuration de l'environnement: | Si ce n'est pas le cas, d'abord sauvegarder la configuration de l'environnement: | ||
- | <code>conda env export --name py37_gitlab > [exemple:] /Volumes/MyDisk/python_notebooks/_environments/py37_gitlab_20200507.yml</code> | + | <code>conda env export --name py39_analyse --from-history > [exemple:] C:\Users\your_name\Documents\espace_python\environments\py39_analyse_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>conda env create --file [exemple:] /Volumes/MyDisk/python_notebooks/_environments/py37_gitlab_20200507.yml</code> | + | <code>mamba env create --file [exemple:] C:\Users\your_name\Documents\espace_python\environments\py39_analyse_20220228.yml</code> |
- | Vérifier ensuite les spécifications dans l'entrepôt de bibliothèques : | + | * Vérifier ensuite les spécifications dans l'entrepôt de bibliothèques : [[https://anaconda.org/anaconda/seaborn | anaconda / packages / seaborn]] |
- | [[https://anaconda.org/anaconda/beautifulsoup4 | anaconda / packages / beautifulsoup4]] | + | * 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]]**. |
- | + | ||
- | 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: | Puis installer la nouvelle bibliothèque: | ||
- | <code>conda install beautifulsoup4</code> | + | <code>conda install seaborn</code> |
+ | |||
+ | Pour supprimer un environnement: | ||
+ | <code> conda env remove --name ENVIRONMENT --all</code> | ||
+ | |||
+ | |||
+ | |||
+ | ====== Créer un nouvel environnement 'shn-pyshs' et l'ajouter aux kernels de Jupyter Lab ====== | ||
+ | |||
+ | 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 **//atelier//** avec toutes ses librairies: | ||
+ | <code>>mamba env create -name shn-pyshs --file C:\Users\your_name\Documents\espace_python\shn-pyshs\requirements.yml</code> | ||
+ | |||
+ | L'activer: | ||
+ | <code>conda activate shn-pyshs</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 "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: | ||
+ | <code>jupyter kernelspec list</code> | ||
+ | Si tout s'est bien passé, on y trouvera le kernel '//shn-pyshs//' | ||
+ | |||
+ | 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 '//shn-pyshs//' 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> | ||