Exemples de personnalisations
Cette rubrique contient différents exemples expliquant comment ajouter des bibliothèques personnalisées via conda ou pip à l'aide des modèles fournis pour Python et R lors de la création d'une définition d'environnement.
Il existe des exemples pour :
- Ajout de packages conda
- Ajout de packages pip
- Combinaison de packages conda et pip
- Ajout de packages complexes comportant des dépendances internes
- Ajout de packages conda pour les blocs-notes R
Conseils et astuces :
Ajout de packages conda
Pour obtenir les dernières version de pandas-profiling :
dependencies:
- pandas-profiling
Cela équivaut à exécuter conda install pandas-profiling
dans un bloc-notes.
Ajout de packages pip
Vous pouvez également personnaliser un environnement à l'aide de pip
si un module particulier n'est pas disponible dans les canaux conda :
dependencies:
- pip:
- ibm-watson-machine-learning
Cela équivaut à exécuter pip install ibm-watson-machine-learning
dans un bloc-notes.
La personnalisation fera en fait plus que simplement installer le module pip
spécifié. Le comportement par défaut de conda
consiste également à rechercher une nouvelle version de pip
, puis à l'installer.
La vérification de toutes les dépendances implicites dans conda
prend souvent plusieurs minutes et des gigaoctets de mémoire. La personnalisation suivante raccourcira l'installation de pip
:
channels:
- empty
- nodefaults
dependencies:
- pip:
- ibm-watson-machine-learning
Le canal conda empty
ne fournit aucun module. Il n'existe pas de module pip
en particulier. conda
n'essaiera pas d'installer pip
et utilisera la version déjà préinstallée. Notez que
le mot clé nodefaults
dans la liste des canaux nécessite au moins un autre canal dans la liste. Sinon, conda
ignore silencieusement le mot clé et utilise les canaux par défaut.
Combinaison de packages conda et pip
Vous pouvez répertorier plusieurs packages avec un package par ligne. Une seule personnalisation peut comporter des packages conda et des packages pip.
dependencies:
- pandas-profiling
- scikit-learn=0.20
- pip:
- watson-machine-learning-client-V4
- sklearn-pandas==1.8.0
Notez que la notation de modèle requise est sensible aux espaces à gauche. Chaque élément de la liste de packages conda doit comporter deux espaces à gauche. Chaque élément de la liste de packages pip doit comporter quatre espaces à gauche. La version
d'un module conda doit être spécifiée à l'aide d'un seul symbole égal (=
), tandis que la version d'un module pip doit être ajoutée à l'aide de deux symboles égaux (==
).
Ajout de packages complexes comportant des dépendances internes
Lorsque vous ajoutez de nombreux packages ou un package complexe comportant de nombreuses dépendances internes, l'installation de conda peut prendre un certain temps ou même s'arreter sans qu'aucun message d'erreur ne s'affiche. Pour éviter cela :
- Spécifiez les versions des packages à ajouter. Cela réduit l'espace de recherche de conda pour résoudre les dépendances.
- Augmentez la taille de mémoire de l'environnement.
- Utilisez un canal spécifique au lieu des canaux conda par défaut définis dans le fichier
.condarc
. Cela évite de longues recherches dans des grands canaux.
Exemple de personnalisation qui n'utilise pas les canaux conda par défaut :
# get latest version of the prophet package from the conda-forge channel
channels:
- conda-forge
- nodefaults
dependencies:
- prophet
Cette personnalisation correspond à la commande suivante dans un bloc-notes :
!conda install -c conda-forge --override-channels prophet -y
Ajout de modules conda pour les blocs-notes R
L'exemple suivant montre comment créer une personnalisation qui ajoute des modules conda à utiliser dans un bloc-notes R :
channels:
- defaults
dependencies:
- r-plotly
Cette personnalisation correspond à la commande suivante dans un bloc-notes :
print(system("conda install r-plotly", intern=TRUE))
Les noms des modules R dans conda commencent généralement par le préfixe r-
. Si vous utilisez simplement plotly
dans votre personnalisation, l'installation aboutirait mais le modulePython serait installé à la place
du module R. Si vous essayez ensuite d'utiliser le module dans votre code R comme dans library(plotly)
, cela renvoie une erreur.
Meilleures pratiques
Pour éviter les problèmes qui peuvent survenir lors de la recherche de packages ou de la résolution de dépendances conflictuelles, commencez pas installer les packages dont vous avez besoin manuellement via un bloc-notes dans un environnement de test. Cela vous permet de vérifier de manière interactive si des packages peuvent être installés sans générer d'erreurs. Après avoir vérifié que les packages ont tous été correctement installés, créez une personnalisation pour votre environnement de développement ou de production et ajoutez les packages au modèle de personnalisation.
Rubrique parent : Personnalisation des environnements