Beispiele für Anpassungen von Umgebungsvorlagen
Sie können den Beispielen folgen, wie angepasste Bibliotheken über Conda oder Pip mithilfe der bereitgestellten Vorlagen für Python und R hinzugefügt werden, wenn Sie eine Umgebungsvorlage erstellen.
Sie können mamba anstelle von conda in den folgenden Beispielen mit conda verwenden. Denken Sie daran, das Kontrollkästchen für die Installation von Mamba auszuwählen, wenn Sie Kanäle oder Pakete von Mamba zur vorhandenen Umgebungsvorlage hinzufügen.
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 mit pip
anpassen, wenn ein bestimmtes Paket in Conda-Kanälen nicht verfügbar ist:
dependencies:
- pip:
- ibm-watson-machine-learning
Dies entspricht der Ausführung von pip install ibm-watson-machine-learning
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-watson-machine-learning
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:
- watson-machine-learning-client-V4
- 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 über zwei führende Leerzeichen verfügen. Jedes Element in der Liste der pip-Pakete muss über vier führende Leerzeichen verfügen. Die Version eines Conda-Pakets muss mit einem einzelnen Gleichheitszeichen (=
) angegeben werden, während die Version eines Pip-Pakets mit zwei Gleichheitszeichen (==
) hinzugefügt wird.
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 Sie eine Fehlernachricht sehen. Um dies zu vermeiden:
- Geben Sie die Versionen der Pakete an, die hinzugefügt werden sollen. Dadurch wird der Suchbereich für conda zum Auflösen von Abhängigkeiten reduziert.
- 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 werden langwierige Durchsuchungen großer Kanäle vermieden.
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 von R-Paketen in Conda beginnen im Allgemeinen mit dem Präfix r-
. Wenn Sie plotly
in Ihrer Anpassung verwenden, wäre die Installation erfolgreich, aber es würde Python anstelle des R-Pakets installiert werden. 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 wie im folgenden Beispiel gezeigt einen Variablenabschnitt zur Softwareanpassungsschablone hinzufügen:
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 den Abschnitt "Variablen" verwenden können, um einen Proxy-Server für eine Umgebung festzulegen.
Einschränkung:Sie können vorhandene Umgebungsvariablen, z. B. LD_LIBRARY_PATH, mit dieser Methode nicht überschreiben.
Bewährte Verfahren
Um Probleme zu vermeiden, die bei der Suche nach Paketen oder bei der Lösung widersprüchlicher Abhängigkeiten auftreten können, sollten Sie zunächst die benötigten Pakete manuell über ein Notebook in einer Testumgebung installieren. Auf diese Weise können Sie interaktiv prüfen, ob Pakete fehlerfrei installiert werden können. Nachdem Sie sichergestellt haben, dass 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