Recettes pour les environnements Conda
Créez un environnement isolé au lieu d'ajouter les paquets d'un projet à base :
conda create --name my-env python=3.12
conda activate my-env
conda install numpy pandas
Pour un projet contenant un fichier environment.yml, créez ou mettez à jour l'environnement nommé ainsi :
conda env create --file environment.yml
conda env update --file environment.yml --prune
La première commande correspond au flux de travail historique ; les versions récentes de Conda peuvent aussi recommander conda create --file environment.yml. Consultez le guide officiel des environnements lorsque vos scripts doivent fonctionner avec plusieurs versions.
Frontière entre les formats de dépendances
Ne supposez pas que tout fichier requirements.txt contient des spécifications Conda. Utilisez la commande correspondant au format :
# Spécifications de paquets Conda, une par ligne
conda install --file conda-requirements.txt
# Dépendances Python au format pip, dans l'environnement actif
conda install pip
python -m pip install --requirement requirements.txt
Si vous combinez les deux gestionnaires, installez d'abord les paquets Conda et terminez par ceux qui ne sont disponibles qu'avec pip. Recréer un petit environnement est généralement plus facile à comprendre que de modifier à répétition un environnement en conflit.
Inspecter, partager et supprimer
# Inspecter les environnements et les paquets installés
conda env list
conda list --name my-env
# Enregistrer uniquement les paquets explicitement demandés
conda env export --name my-env --from-history > environment.yml
# Créer une copie locale avant une expérience risquée
conda create --name my-env-copy --clone my-env
# Supprimer un environnement après vérification exacte de son nom
conda remove --name my-env --all
Un environnement exporté est une entrée de reconstruction, pas la preuve que toutes les plateformes produiront des versions identiques. Employez une spécification explicite ou un fichier de verrouillage lorsque la reproduction octet par octet est réellement nécessaire.