Beispiele für Anpassungen von Umgebungsvorlagen
Folgen Sie den Beispielen, die zeigen, wie angepasste Bibliotheken über conda
oder pip
hinzugefügt werden, wenn Sie eine Umgebungsvorlage erstellen, indem Sie die bereitgestellten Vorlagen für Python und R verwenden.
- In den folgenden Beispielen können Sie
mamba
anstelle vonconda
verwenden. Denken Sie daran, das Kontrollkästchen zur Installation vonmamba
zu aktivieren, wenn Sie Kanäle oder Pakete vonmamba
zur vorhandenen Umgebungsvorlage hinzufügen. - Der Prozess zur Erstellung benutzerdefinierter watsonx.ai -Laufzeitbereitstellungslaufzeiten kann unterschiedlich sein. Wenn Sie benutzerdefinierte watsonx.ai -Runtime-Bereitstellungslaufzeiten erstellen möchten, siehe "Anpassen von watsonx.ai -Runtime-Bereitstellungslaufzeiten ".
Es gibt Beispiele für:
- conda-Pakete hinzufügen
- pip-Pakete hinzufügen
- conda-und pip-Pakete kombinieren
- Komplexe Pakete mit internen Abhängigkeiten hinzufügen
- Conda-Pakete für R-Notebooks hinzufügen
- Umgebungsvariablen werden eingestellt
Hinweise und Tipps:
conda-Pakete hinzufügen
Gehen Sie wie folgt vor, um die aktuelle Versionen von pandas-profiling zu erhalten:
dependencies:
- pandas-profiling
Dies entspricht der Ausführung von conda install pandas-profiling
in einem Notebook.
pip-Pakete hinzufügen
Sie können eine Umgebung auch mithilfe von pip
anpassen, wenn ein bestimmtes Paket in conda
-Kanälen nicht verfügbar ist:
dependencies:
- pip:
- ibm_watsonx_ai
Dies entspricht der Ausführung von pip install ibm_watsonx_ai
in einem Notebook.
Bei der Anpassung wird mehr als nur das angegebene pip
-Paket installiert. Das Standardverhalten von conda
besteht darin, auch nach einer neuen Version von pip
selbst zu suchen und diese dann zu installieren. Die Überprüfung aller impliziten Abhängigkeiten in conda
dauert häufig mehrere Minuten und benötigt auch Gigabyte an Speicher. Die folgende Anpassung führt zu einer Verknüpfung der Installation von pip
:
channels:
- empty
- nodefaults
dependencies:
- pip:
- ibm_watsonx_ai
Der conda
Kanal empty
stellt keine Pakete bereit. Insbesondere gibt es kein pip
-Paket. conda
versucht nicht, pip
zu installieren und verwendet stattdessen die bereits vorinstallierte Version. Beachten Sie, dass das Schlüsselwort nodefaults
in der Liste der Kanäle mindestens einen anderen Kanal in der Liste benötigt. Andernfalls ignoriert conda
das Schlüsselwort unbeaufsichtigt und verwendet die Standardkanäle.
conda-und pip-Pakete kombinieren
Sie können mehrere Pakete mit einem Paket pro Zeile auflisten. Eine einzelne Anpassung kann sowohl conda
-Pakete als auch pip
-Pakete enthalten.
dependencies:
- pandas-profiling
- scikit-learn=0.20
- pip:
- ibm_watsonx_ai
- sklearn-pandas==1.8.0
Beachten Sie, dass bei der erforderlichen Vorlagenschreibweise auf führende Leerzeichen geachtet werden muss. Jedes Element in der Liste der conda
-Pakete muss zwei führende Leerzeichen enthalten. Jedes Element in der Liste der pip
-Pakete muss vier führende Leerzeichen enthalten. Die Version eines conda
-Pakets muss mit einem einzelnen Gleichheitszeichen (=
) angegeben werden, während die Version eines pip
-Pakets mit zwei Gleichheitszeichen (==
) hinzugefügt werden muss.
Komplexe Pakete mit internen Abhängigkeiten hinzufügen
Wenn Sie viele Pakete oder ein komplexes Paket mit vielen internen Abhängigkeiten hinzufügen, kann die conda
-Installation lange dauern oder sogar gestoppt werden, ohne dass Fehlernachrichten zurückgegeben werden. Gehen Sie wie folgt vor, um dies zu vermeiden:
- Geben Sie die Versionen der Pakete an, die hinzugefügt werden sollen. Dies reduziert den Suchbereich für
conda
zum Auflösen von Abhängigkeiten. - Vergrößern Sie die Speichergröße der Umgebung.
- Verwenden Sie einen bestimmten Kanal anstelle der
conda
-Standardkanäle, die in der Datei.condarc
definiert sind. Dadurch wird vermieden, dass lange Suchvorgänge über große Kanäle ausgeführt werden.
Beispiel für eine Anpassung, die die conda
-Standardkanäle nicht verwendet:
# get latest version of the prophet package from the conda-forge channel
channels:
- conda-forge
- nodefaults
dependencies:
- prophet
Diese Anpassung entspricht dem folgenden Befehl in einem Notebook:
!conda install -c conda-forge --override-channels prophet -y
Conda-Pakete für R-Notebooks hinzufügen
Das folgende Beispiel zeigt, wie Sie eine Anpassung erstellen, die conda
-Pakete zur Verwendung in einem R-Notebook hinzufügt:
channels:
- defaults
dependencies:
- r-plotly
Diese Anpassung entspricht dem folgenden Befehl in einem Notebook:
print(system("conda install r-plotly", intern=TRUE))
Die Namen der R-Pakete in conda
beginnen im Allgemeinen mit dem Präfix r-
. Wenn Sie nur plotly
in Ihrer Anpassung verwenden, wäre die Installation erfolgreich, aber das Paket Python wird anstelle des R-Pakets installiert. Wenn Sie dann versuchen, das Paket in Ihrem R-Code wie in library(plotly)
zu verwenden, wird ein Fehler zurückgegeben.
Umgebungsvariablen werden eingestellt
Sie können Umgebungsvariablen in Ihrer Umgebung festlegen, indem Sie einen Abschnitt variables
zur Softwareanpassungsschablone hinzufügen, wie im folgenden Beispiel gezeigt:
variables:
my_var: my_value
HTTP_PROXY: https://myproxy:3128
HTTPS_PROXY: https://myproxy:3128
NO_PROXY: cluster.local
Das Beispiel zeigt auch, dass Sie im Abschnitt variables
einen Proxy-Server für eine Umgebung festlegen können.
Einschränkung: Mit diesem Ansatz können Sie vorhandene Umgebungsvariablen, z. B. LD_LIBRARY_PATH
, nicht überschreiben.
Bewährte Verfahren
Um Probleme mit fehlenden Paketen und in Konflikt stehenden Abhängigkeiten zu vermeiden, beginnen Sie mit der manuellen Installation der benötigten Pakete über ein Notebook in einer Testumgebung. Auf diese Weise können Sie interaktiv prüfen, ob Pakete fehlerfrei installiert werden können. Nachdem Sie überprüft haben, ob die Pakete ordnungsgemäß installiert wurden, erstellen Sie eine Anpassung für Ihre Entwicklungs-oder Produktionsumgebung und fügen Sie die Pakete zur Anpassungsvorlage hinzu.
Übergeordnetes Thema: Umgebungen anpassen