Seguire gli esempi che mostrano come aggiungere librerie personalizzate mediante conda
o pip
quando si crea un modello di ambiente, utilizzando i modelli forniti per Python e R.
mamba
al posto di conda
nei seguenti esempi. Ricordarsi di selezionare la casella di spunta da installare da mamba
se si aggiungono canali o package da mamba
al modello di ambiente esistente.Esempi esistono per:
- Aggiunta di package
conda
- Aggiunta di package
pip
- Combinazione di package
conda
epip
- Aggiunta di pacchetti complessi con dipendenze interne
- Aggiunta di pacchetti
conda
per notebook R - Impostazione delle variabili d'ambiente
Suggerimenti e consigli:
Aggiunta di package conda
Per ottenere le ultime versioni di pandas - profiling:
dependencies:
- pandas-profiling
Questo equivale a eseguire conda install pandas-profiling
in un notebook.
Aggiunta di package pip
È anche possibile personalizzare un ambiente utilizzando pip
se un particolare pacchetto non è disponibile nei canali conda
:
dependencies:
- pip:
- ibm_watsonx_ai
Questo equivale a eseguire pip install ibm_watsonx_ai
in un notebook.
La personalizzazione in realtà farà più di solo installare il pacchetto pip
specificato. Il comportamento predefinito di conda
è quello di cercare anche una nuova versione di pip
stessa e quindi installarla. Controllando tutte le dipendenze implicite in conda
spesso ci vogliono diversi minuti e anche gigabyte di memoria. La seguente personalizzazione accorderà l'installazione di pip
:
channels:
- empty
- nodefaults
dependencies:
- pip:
- ibm_watsonx_ai
Il conda
canale empty
non fornisce alcun pacchetto. In particolare, non esiste alcun package pip
. conda
non tenterà di installare pip
e utilizzerà invece la versione già preinstallata. Notare che la parola chiave nodefaults
nell'elenco di canali richiede almeno un altro canale nell'elenco. In caso contrario, conda
ignorerà automaticamente la parola chiave e utilizzerà i canali predefiniti.
Combinazione di package conda
e pip
È possibile elencare più pacchetti con un unico pacchetto per riga. Una singola personalizzazione può avere sia package conda
che package pip
.
dependencies:
- pandas-profiling
- scikit-learn=0.20
- pip:
- ibm_watsonx_ai
- sklearn-pandas==1.8.0
Da notare che la notazione del modello richiesto è sensibile agli spazi di guida. Ogni elemento nell'elenco di pacchetti conda
deve avere due spazi iniziali. Ogni elemento nell'elenco di pacchetti di pip
deve avere quattro spazi iniziali. La versione di un pacchetto conda
deve essere specificata utilizzando un singolo simbolo di uguale (=
), mentre la versione di un pacchetto pip
deve essere aggiunta utilizzando due simboli di uguale (==
).
Aggiunta di pacchetti complessi con dipendenze interne
Quando si aggiungono molti package o un package complesso con molte dipendenze interne, l'installazione di conda
potrebbe richiedere molto tempo o potrebbe addirittura arrestarsi senza restituire alcun messaggio di errore. Per evitare questo problema:
- Specificare le versioni dei package che si desidera aggiungere. Ciò riduce lo spazio di ricerca per
conda
per risolvere le dipendenze. - Aumentare la dimensione della memoria dell'ambiente.
- Utilizzare uno specifico canale invece dei canali
conda
predefiniti definiti nel file.condarc
. Ciò evita di eseguire lunghe ricerche attraverso canali di grandi dimensioni.
Esempio di una personalizzazione che non utilizza i canali conda
predefiniti:
# get latest version of the prophet package from the conda-forge channel
channels:
- conda-forge
- nodefaults
dependencies:
- prophet
Questa personalizzazione corrisponde al seguente comando in un notebook:
!conda install -c conda-forge --override-channels prophet -y
Aggiunta di pacchetti conda
per notebook R
Il seguente esempio mostra come creare una personalizzazione che aggiunge i package conda
da utilizzare in un notebook R:
channels:
- defaults
dependencies:
- r-plotly
Questa personalizzazione corrisponde al seguente comando in un notebook:
print(system("conda install r-plotly", intern=TRUE))
I nomi dei package R in conda
generalmente iniziano con il prefisso r-
. Se si utilizza solo plotly
nella personalizzazione, l'installazione avrà esito positivo, ma il pacchetto Python verrà installato al posto del pacchetto R. Se si tenta di utilizzare il package nel codice R come in library(plotly)
, viene restituito un errore.
Impostazione delle variabili d'ambiente
È possibile impostare le variabili di ambiente nell'ambiente aggiungendo una sezione variables
al modello di personalizzazione software come mostrato nel seguente esempio:
variables:
my_var: my_value
HTTP_PROXY: https://myproxy:3128
HTTPS_PROXY: https://myproxy:3128
NO_PROXY: cluster.local
L'esempio mostra anche che è possibile utilizzare la sezione variables
per impostare un server proxy per un ambiente.
Limitazione: non è possibile sovrascrivere le variabili di ambiente esistenti, ad esempio LD_LIBRARY_PATH
, utilizzando questo approccio.
Best practice
Per evitare problemi con i package mancanti e dipendenze in conflitto, iniziare installando manualmente i package necessari tramite un notebook in un ambiente di test. In questo modo è possibile controllare in modo interattivo se i package possono essere installati senza errori. Dopo aver verificato che i package siano installati correttamente, creare una personalizzazione per l'ambiente di sviluppo o di produzione e aggiungere i package al modello di personalizzazione.
Argomento principale: Personalizzazione degli ambienti