0 / 0
Retourner à la version anglaise de la documentation
Exemples de personnalisations de modèles d'environnement

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 :

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.

Remarque :

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

Recherche et réponse à l'IA générative
Ces réponses sont générées par un modèle de langue de grande taille dans watsonx.ai en fonction du contenu de la documentation du produit. En savoir plus