Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwalten von Bibliotheken mit
Wichtig
Diese Dokumentation wurde eingestellt und wird unter Umständen nicht aktualisiert. Die in diesem Inhalt erwähnten Produkte, Dienste oder Technologien werden nicht mehr unterstützt. Informationen finden Sie unter Python-Bibliotheken im Notebook-Bereich.
Wichtig
%conda
-Befehle sind veraltet und werden nur für Databricks Runtime 7.3 LTS ML unterstützt. Databricks empfiehlt die Verwendung von %pip
zum Verwalten von Bibliotheken im Notebook-Bereich. Wenn Sie Python-Bibliotheken benötigen, die nur mit conda installiert werden können, können Sie conda-basierte Docker-Container verwenden, um die benötigten Bibliotheken vorab zu installieren.
Anaconda Inc. hat die Vertragsbedingungen für die Kanäle von anaconda.org im September 2020 aktualisiert. Basierend auf den neuen Nutzungsbedingungen benötigen Sie möglicherweise eine kommerzielle Lizenz, wenn Sie sich auf die Verpackung und Verteilung von Anaconda verlassen. Weitere Informationen finden Sie unter Anaconda Commercial Edition FAQ (Häufig gestellte Fragen zu Anaconda Commercial Edition). Jegliche Nutzung von Anaconda-Kanälen unterliegt den Anaconda-Vertragsbedingungen.
Aufgrund dieser Änderung hat Databricks die Standardkanalkonfiguration für den Conda-Paket-Manager entfernt. Dies ist eine wichtige Änderung.
Um Pakete mit dem %conda
-Befehl zu installieren oder zu aktualisieren, müssen Sie einen Kanal mit -c
angeben. Sie müssen außerdem die gesamte Verwendung von %conda install
und %sh conda install
aktualisieren, um einen Kanal mit -c
anzugeben. Wenn Sie keinen Kanal angeben, wird für Conda-Befehle der Fehler PackagesNotFoundError
angezeigt.
Der %conda
-Befehl entspricht dem conda-Befehl und unterstützt dieselbe API mit einigen der unten aufgeführten Einschränkungen. Die folgenden Abschnitte enthalten Beispiele für die Verwendung von %conda
-Befehlen zum Verwalten Ihrer Umgebung. Weitere Informationen zum Installieren von Python-Paketen mit conda
finden Sie in der Dokumentation zur conda-Installation.
Beachten Sie, dass %conda
-Magic-Befehle auf Databricks Runtime nicht verfügbar sind. Sie sind nur in Databricks Runtime 7.3 LTS ML verfügbar. Databricks empfiehlt die Verwendung von pip
zum Installieren von Bibliotheken. Weitere Informationen finden Sie unter Grundlegendes zu Conda und pip.
Wenn Sie sowohl %pip
- als auch %conda
-Befehle in einem Notizbuch verwenden müssen, lesen Sie Interaktionen zwischen pip
- und conda
-Befehlen.
Hinweis
Die folgenden conda
-Befehle werden nicht unterstützt, wenn sie mit %conda
verwendet werden:
activate
create
init
run
env create
env remove
Installieren einer Bibliothek mit %conda
%conda install matplotlib -c conda-forge
Deinstallieren einer Bibliothek mit %conda
%conda uninstall matplotlib
Speichern und Wiederverwenden oder Freigeben einer Umgebung
Wenn Sie ein Notebook von einem Cluster trennen, wird die Umgebung nicht gespeichert. Führen Sie die folgenden Schritte aus, um eine Umgebung zu speichern, damit Sie sie später wiederverwenden oder für eine andere Person freigeben können.
Databricks empfiehlt, dass Umgebungen nur zwischen Clustern gemeinsam genutzt werden, welche dieselbe Version von Databricks Runtime ML ausführen.
Speichern Sie die Umgebung als Conda-YAML-Spezifikation.
%conda env export -f /dbfs/myenv.yml
Importieren Sie die Datei über
conda env update
in ein anderes Notebook.%conda env update -f /dbfs/myenv.yml
Auflisten der Python-Umgebung eines Notebooks
Verwenden Sie %conda list
, um die einem Notebook zugeordnete Python-Umgebung anzuzeigen:
%conda list
Interaktionen zwischen pip
- und conda
-Befehlen
Um Konflikte zu vermeiden, befolgen Sie diese Richtlinien, wenn Sie pip
oder conda
verwenden, um Python-Pakete und -Bibliotheken zu installieren.
- Bibliotheken, die mithilfe der Bibliotheks-API oder der Clusterbenutzeroberfläche installiert werden, werden mit
pip
installiert. Wenn Bibliotheken über die API oder die Clusterbenutzeroberfläche installiert wurden, sollten Sie beim Installieren von Bibliotheken im Notebook-Bereich nur%pip
-Befehle verwenden. - Wenn Sie Bibliotheken im Notebook-Bereich in einem Cluster verwenden, können in diesem Cluster ausgeführte Initialisierungsskripts entweder
conda
- oderpip
-Befehle verwenden, um Bibliotheken zu installieren. Wenn das Initialisierungsskript jedochpip
-Befehle enthält, verwenden Sie nur%pip
-Befehle in Notebooks (nicht%conda
). - Es ist am besten, entweder
pip
-Befehle ausschließlich oderconda
-Befehle ausschließlich zu verwenden. Wenn Sie einige Pakete mitconda
und einige mitpip
installieren müssen, führen Sie zuerst dieconda
-Befehle aus, und führen Sie danach diepip
-Befehle aus. Weitere Informationen finden Sie unter Verwenden von Pip in einer Conda-Umgebung.
Häufig gestellte Fragen (FAQ)
Wie interagieren Bibliotheken, die über die Clusterbenutzeroberfläche/-API installiert werden, mit Bibliotheken im Notebook-Bereich?
Bibliotheken, die über die Clusterbenutzeroberfläche oder -API installiert werden, sind für alle Notebooks im Cluster verfügbar. Diese Bibliotheken werden mit pip
installiert. Wenn Bibliotheken über die Clusterbenutzeroberfläche installiert werden, verwenden Sie daher nur %pip
-Befehle in Notebooks.
Wie interagieren Bibliotheken, die mithilfe eines Initialisierungsskripts installiert werden, mit Bibliotheken im Notebook-Bereich?
Bibliotheken, die mit einem Initialisierungsskript installiert werden, sind für alle Notebooks im Cluster verfügbar.
Wenn Sie Bibliotheken im Notebook-Bereich in einem Cluster verwenden, auf dem Databricks Runtime ML läuft, können die auf dem Cluster ausgeführten Init-Skripte entweder die Befehle conda
oder pip
verwenden, um Bibliotheken zu installieren. Wenn das Initialisierungsskript jedoch pip
-Befehle enthält, dann verwenden Sie nur %pip
-Befehle in Notebooks.
Mit diesem Notebook-Codeausschnitt wird beispielsweise ein Skript generiert, das fast.ai-Pakete auf allen Clusterknoten installiert.
dbutils.fs.put("dbfs:/home/myScripts/fast.ai", "conda install -c pytorch -c fastai fastai -y", True)
Kann ich %pip
- und %conda
-Befehle in Auftragsnotebooks verwenden?
Ja.
Kann ich %pip
- und %conda
-Befehle in R- oder Scala-Notebooks verwenden?
Ja, in einer Python-Magic-Zelle.
Kann ich %sh pip
, !pip
oder pip
verwenden? Worin besteht der Unterschied?
%sh
und !
führen einen Shell-Befehl in einem Notebook aus. Ersteres ist ein zusätzlicher Magic-Befehl von Databricks, während letzteres ein Feature von IPython ist.
pip
ist eine Abkürzung für %pip
, wenn automagic aktiviert ist, was die Standardeinstellung in Azure Databricks Python-Notebooks ist.
Unter Databricks Runtime 11.0 und höher installieren %pip
, %sh pip
und !pip
alle eine Bibliothek als Python-Bibliothek im Notebook-Bereich. Für Databricks Runtime 10.4 LTS und niedriger empfiehlt Databricks, nur %pip
oder pip
zu verwenden, um auf den Notebookbereich bezogene Bibliotheken zu installieren. Das Verhalten von %sh pip
und !pip
ist in Databricks Runtime 10.4 LTS und niedriger nicht konsistent.
Kann ich R-Pakete mit %conda
-Befehlen aktualisieren?
Nein.
Bekannte Probleme
- Wenn Sie
%conda env update
verwenden, um eine Notebookumgebung zu aktualisieren, ist die Installationsreihenfolge von Paketen nicht garantiert. Dies kann zu Problemen für dashorovod
-Paket führen, welches erfordert, dasstensorflow
undtorch
vorhorovod
installiert werden müssen, umhorovod.tensorflow
bzw.horovod.torch
zu verwenden. Deinstallieren Sie in diesem Fall dashorovod
-Paket, und installieren Sie es neu, nachdem Sie sichergestellt haben, dass die Abhängigkeiten installiert sind. - In Databricks Runtime 9.1 LTS sind Bibliotheken im Notebookbereich nicht mit Batchstreamingaufträgen kompatibel. Databricks empfiehlt stattdessen die Verwendung von Clusterbibliotheken oder dem IPython-Kernel.