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. conda --version conda info conda info --envs conda env list conda update conda ====== Créer manuellement un nouvel environnement ====== Documentation: [[https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html|managing environments]] 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 conda create --name py311_data_analysis python=3.11 ipykernel requests lxml pandas plotly matplotlib Lister les librairies installées (seulement celles déclarées explicitement): conda env export --name py311_data_analysis --from-history Lister toutes les librairies et dépendances installées: conda activate py311_data_analysis On est ainsi positionné dans l'environnement et on liste les librairies: conda list conda deactivate Pour ajouter une librairire, par ex. la bibliothèque de visualisation: 'seaborn'. Vérifier si elle est disponibles: conda search seaborn Vérifier la version disponible (et conseillée) sur ce site : [[https://anaconda.org/search|Anaconda search package]] — choisir généralement la plus utilisée. Avant de procéder, sauvegarder la liste des librairies de l'environnement: conda env export --name py311_data_analysis --from-history > [exemple:] C:\Users\your_name\Documents\espace_python\environments\py311_data_analysis_20220228.yml 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: conda env create --file [exemple:] C:\Users\your_name\Documents\espace_python\environments\py311_data_analysis_20220228.yml * 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: conda install seaborn Pour lister les librairies installées dans l'environnement Conda actif: conda env export --from-history ===== Supprimer un environnement: ===== conda env remove --name ENVIRONMENT \\ ====== Activer un environnement dans Jupyter Lab ====== conda activate py311_data_analysis ATTENTION : seulement __si non installé__, installer ipykernel (et toues les dépendances ipython) conda install ipykernel Puis activer l'ipykernel pour cet utilisateur python -m ipykernel install --user --name py311_data_analysis --display-name "py311_data_analysis" Lister les kernels présents: jupyter kernelspec list Si tout s'est bien passé, on y trouvera le kernel '//py311_data_analysis//' Désactier l'environnement: conda deactivate Plus tard, lancer JupyterLab: jupyter lab 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 jupyter kernelspec uninstall KERNELNAME \\ ====== 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: conda env create --name py310_data_analysis --file C:\Users\your_name\Documents\espace_python\shn-pyshs\requirements.yml