Traduction non à jour
Exemples de personnalisations de modèles d'environnement
Vous pouvez suivre des exemples d'ajout de bibliothèques personnalisées via conda ou pip à l'aide des modèles fournis pour Python et R lorsque vous créez un modèle d'environnement.
Vous pouvez utiliser mamba à la place de conda dans les exemples suivants avec conda. N'oubliez pas de cocher la case d'installation à partir de mamba si vous ajoutez des canaux ou des packages de mamba au modèle d'environnement existant.
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
- Paramétrage des variables d'environnement
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 package pip
en particulier. conda
n'essaiera pas d'installer pip
et utilisera la version déjà préinstallée à la place. 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.
Paramétrage des variables d'environnement
Vous pouvez définir des variables d'environnement dans votre environnement en ajoutant une section de variables au modèle de personnalisation de logiciel, comme illustré dans l'exemple suivant:
variables:
my_var: my_value
HTTP_PROXY: https://myproxy:3128
HTTPS_PROXY: https://myproxy:3128
NO_PROXY: cluster.local
L'exemple montre également que vous pouvez utiliser la section des variables pour définir un serveur proxy pour un environnement.
Lors de l'installation de packages, conda n'utilise pas les variables HTTP_PROXY et HTTPS_PROXY configurées dans l'environnement. Pour configurer conda afin qu'il utilise un serveur proxy, voir Configuration de conda ou de mamba pour qu'il utilise un serveur proxy.
Limitation: vous ne pouvez pas remplacer les variables d'environnement existantes, par exemple LD_LIBRARY_PATH, à l'aide de cette approche.
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