Beispiele für Anpassungen

In diesem Abschnitt werden verschiedene Beispiele gezeigt, wie angepasste Bibliotheken mithilfe von conda oder pip mithilfe der bereitgestellten Vorlagen für Python und R hinzugefügt werden, wenn Sie eine Umgebungsdefinition erstellen.

Es gibt Beispiele für:

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.

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