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.
Mit Bibliotheken im Notebook-Bereich können Sie benutzerdefinierte Python-Umgebungen erstellen, ändern, speichern, wiederverwenden und freigeben, die für ein Notebook spezifisch sind. Wenn Sie eine Bibliothek im Notebook-Bereich installieren, haben nur das aktuelle Notebook und alle diesem Notebook zugeordneten Aufträge Zugriff auf diese Bibliothek. Andere Notebooks, die an denselben Cluster angefügt sind, sind nicht betroffen.
Bibliotheken im Notebook-Bereich werden nicht sitzungsübergreifend beibehalten. Sie müssen notebookgebundene Bibliotheken zu Beginn jeder Sitzung sowie jedes Mal neu installieren, wenn das Notebook von einem Cluster getrennt wird.
Databricks empfiehlt, den %pip-Magic-Befehl zu verwenden, um Python-Bibliotheken auf Notebook-Ebene zu installieren. Auf Serverless-Notebooks mit Umgebungsversion 5 oder höher können Sie auch %uv pip für schnellere Installationen verwenden.
Sie können %pip in Notebooks verwenden, die als Jobs geplant sind. Wenn Sie die Python-Umgebung in einem Scala-, SQL- oder R-Notebook verwalten müssen, verwenden Sie den %python-Magic-Befehl in Verbindung mit %pip.
Bei der Arbeit mit notebookspezifischen Bibliotheksinstallationen kann es auf dem Treiberknoten zu erhöhtem Datenverkehr kommen. Siehe Empfehlungen zur Größe des Treiberknotens.
Um Bibliotheken für alle Notebooks zu installieren, die einem Cluster zugeordnet sind, verwenden Sie Clusterbibliotheken. Siehe Compute-spezifische Bibliotheken.
Eine umfassende Übersicht über die verfügbaren Optionen für die Installation von Python-Bibliotheken in Databricks finden Sie unter Python-Umgebungsverwaltung.
Verwalten von Bibliotheken mit %pip-Befehlen
Der %pip-Befehl entspricht dem pip-Befehl und unterstützt dieselbe API. Die folgenden Abschnitte zeigen Beispiele für die Verwendung von %pip-Befehlen zum Verwalten Ihrer Umgebung. Weitere Informationen zum Installieren von Python-Paketen mit pip finden Sie in der Dokumentation zur pip-Installation und auf zugehörigen Seiten.
Wichtig
-
%pipBefehle starten den Python Prozess nicht automatisch neu. Wenn Sie ein neues Paket installieren oder ein vorhandenes Paket aktualisieren, müssen Sie möglicherweisedbutils.library.restartPython()verwenden, damit die neuen Pakete angezeigt werden. Siehe Den Python-Prozess in Azure Databricks neu starten. - Das Upgraden, Ändern oder Deinstallieren von Python-Kernpaketen (z. B. IPython) mit
%pipkann dazu führen, dass einige Features nicht mehr wie erwartet funktionieren. Falls solche Probleme auftreten, setzen Sie die Umgebung zurück, indem Sie den Cluster neu starten oder eine neue Sitzung starten.
Schnellere Installationen mit %uv pip
Hinweis
%uv pip ist nur für serverlose Notebooks verfügbar, die mit Umgebungsversion 5 oder höher ausgeführt werden. Klassische Compute- und frühere Serverlose Umgebungsversionen unterstützen %uv pipnicht.
Der %uv pip Zauberbefehl ist eine schnellere Alternative zu %pip.
%uv pip basiert auf dem uv-Paketmanager und teilt dieselbe virtuelle Umgebung für Notebooks wie %pip, sodass Pakete, die mit dem einen Tool installiert werden, auch für das andere sichtbar sind.
%uv pip ist schneller als %pip bei Installationen und schreibgeschützten Vorgängen wie list. Damit eignet es sich gut für die iterative Weiterentwicklung auf Basis einer Umgebungsspezifikation.
%uv pip unterstützt die standardmäßigen pip Unterbefehle: install, , uninstall, list, show, freeze, , checkund tree.
%uv pip install simplejson
%uv pip list
Andere Installationsmuster auf dieser Seite (Volumes, Arbeitsbereichsdateien, Anforderungsdateien, Versionssteuerung, private Repositorys) funktionieren mit %uv pip. Sie können %pip in jedem dieser Beispiele durch %uv pip ersetzen.
%uv pip Einschränkungen
-
%uv pip uninstallBibliotheken, die in der serverlosen Umgebung vorinstalliert sind, können nicht vollständig entfernt werden. Nur die Paketmetadaten werden entfernt. Die zugrunde liegenden Dateien verbleiben im Dateisystem, und das Paket kann weiterhin importiert werden. -
%uv pipsucht nicht nach Abhängigkeitskonflikten mit vorinstallierten Bibliotheken. - Nach dem Ausführen von
%uv pip-Befehlen zeigt der Seitenbereich „Umgebung“ des Notebooks möglicherweise einige vorinstallierte Bibliotheken als vom Benutzer installiert an. Dies ist ein Anzeigeproblem und wirkt sich nicht auf die Paketfunktionalität aus. -
%uv pipist für eine schnelle interaktive Iteration vorgesehen. Um eine reproduzierbare Umgebung für das Notizbuch einzurichten, fügen Sie Abhängigkeiten im Seitenbereich des Notizbuchs "Umgebung " hinzu.
Installieren einer Bibliothek mit %pip
%pip install matplotlib
Installieren eines Python-Wheel-Pakets mit %pip
%pip install /path/to/my_package.whl
Deinstallieren einer Bibliothek mit %pip
Hinweis
Sie können keine Bibliothek deinstallieren, die in Versionshinweise zu Databricks Runtime-Versionen und -Kompatibilität aufgeführt ist, und auch keine Bibliothek, die als Clusterbibliothek installiert wurde. Wenn Sie eine andere Bibliotheksversion als die in Databricks Runtime enthaltene oder die auf dem Cluster installierte Version installiert haben, können Sie %pip uninstall verwenden, um die Bibliothek auf die Standardversion in Databricks Runtime oder die auf dem Cluster installierte Version zurückzusetzen, aber Sie können keinen %pip-Befehl verwenden, um die Version einer in Databricks Runtime enthaltenen oder auf dem Cluster installierten Bibliothek zu deinstallieren.
%pip uninstall -y matplotlib
Die -y-Option ist erforderlich.
Installieren einer Bibliothek aus einem Versionskontrollsystem mit %pip
%pip install git+https://github.com/databricks/databricks-cli
Sie können Parameter zur URL hinzufügen, um Elemente wie die Version oder das Git-Unterverzeichnis anzugeben. Weitere Informationen und Beispiele zur Verwendung anderer Versionskontrollsysteme finden Sie unter VCS-Unterstützung.
Installieren eines privaten Pakets mit Anmeldeinformationen, die von Databricks-Geheimnissen verwaltet werden, mit %pip
pip unterstützt die Installation von Paketen aus privaten Quellen mit Standardauthentifizierung, einschließlich privater Versionssteuerungssysteme und privater Paketrepositorys wie Nexus und Artifactory. Die Geheimnisverwaltung ist über die Databricks Secrets-API verfügbar, mit der Sie Authentifizierungstoken und Kennwörter speichern können. Verwenden Sie die DBUtils-API, um über Ihr Notebook auf Geheimnisse zuzugreifen. Beachten Sie, dass Sie bei Magic-Befehlen $variables verwenden können.
Um ein Paket aus einem privaten Repository zu installieren, geben Sie die Repository-URL mit der --index-url Option zu %pip install an, oder fügen Sie sie der pip Konfigurationsdatei unter ~/.pip/pip.confhinzu.
token = dbutils.secrets.get(scope="scope", key="key")
%pip install --index-url https://<user>:$token@<your-package-repository>.com/<path/to/repo> <package>==<version> --extra-index-url https://pypi.org/simple/
Auf ähnliche Weise können Sie die Geheimnisverwaltung mit Magic-Befehlen verwenden, um private Pakete aus Versionskontrollsystemen zu installieren.
token = dbutils.secrets.get(scope="scope", key="key")
%pip install git+https://<user>:$token@<gitprovider>.com/<path/to/repo>
Installieren eines Pakets aus DBFS mit %pip
Wichtig
Alle Arbeitsbereichsbenutzer/-benutzerinnen können Dateien ändern, die im DBFS gespeichert sind. Azure Databricks empfiehlt das Speichern von Dateien in Arbeitsbereichen oder auf Unity Catalog-Volumes.
Sie können %pip verwenden, um ein privates Paket zu installieren, das in DBFS gespeichert wurde.
Wenn Sie eine Datei in DBFS hochladen, wird die Datei automatisch umbenannt, wobei Leerzeichen, Zeiträume und Bindestriche durch Unterstriche ersetzt werden. Bei Python-Wheel-Dateien erfordert pip, dass der Name der Datei Punkte in der Version (z. B. 0.1.0) und Bindestriche anstelle von Leerzeichen oder Unterstrichen verwendet, sodass diese Dateinamen nicht verändert werden.
%pip install /dbfs/mypackage-0.0.1-py3-none-any.whl
Installieren Sie ein Paket aus einem Volume mit %pip
Wichtig
Dieses Feature befindet sich in der Public Preview.
Mit Databricks Runtime 13.3 LTS und höher können Sie mithilfe von %pip ein privates Paket installieren, das auf einem Volume gespeichert wurde.
Wenn Sie eine Datei auf ein Volume hochladen, wird die Datei automatisch umbenannt. Dabei werden Leerzeichen, Punkte und Bindestriche durch Unterstriche ersetzt. Bei Python-Wheel-Dateien erfordert pip, dass der Name der Datei Punkte in der Version (z. B. 0.1.0) und Bindestriche anstelle von Leerzeichen oder Unterstrichen verwendet, sodass diese Dateinamen nicht verändert werden.
%pip install /Volumes/<catalog>/<schema>/<path-to-library>/mypackage-0.0.1-py3-none-any.whl
Installieren eines als Arbeitsbereichsdatei gespeicherten Pakets mit %pip
Mit Databricks Runtime 11.3 LTS und höher können Sie mithilfe von %pip ein privates Paket installieren, das als Arbeitsbereichsdatei gespeichert wurde.
%pip install /Workspace/<path-to-whl-file>/mypackage-0.0.1-py3-none-any.whl
Speichern von Bibliotheken in einer Anforderungsdatei
%pip freeze > /Workspace/shared/prod_requirements.txt
Alle Unterverzeichnisse im Dateipfad müssen bereits vorhanden sein. Wenn Sie %pip freeze > /Workspace/<new-directory>/requirements.txt ausführen, schlägt der Befehl fehl, wenn das Verzeichnis /Workspace/<new-directory> noch nicht vorhanden ist.
Verwenden einer Anforderungsdatei zum Installieren von Bibliotheken
Eine Anforderungsdatei enthält eine Liste der Pakete, die mit pip installiert werden. Ein Beispiel für die Verwendung einer Anforderungsdatei ist:
%pip install -r /Workspace/shared/prod_requirements.txt
Weitere Informationen zu Dateien finden Sie unter Format der Anforderungsdateirequirements.txt.
Empfehlungen für die Größe des Treiberknotens
Die Verwendung notebookbezogener Bibliotheken kann zu erhöhtem Datenverkehr auf dem Treiberknoten führen, da er daran arbeitet, die Umgebung über die Executorknoten hinweg konsistent zu halten.
Wenn Sie einen Cluster mit 10 oder mehr Knoten verwenden, empfiehlt Databricks folgende Spezifikationen als Mindestanforderung für den Treiberknoten:
- Verwenden Sie für einen CPU-Cluster mit 100 Knoten Standard_D8ds_v5.
- Verwenden Sie für einen GPU-Cluster mit 10 Knoten Standard_NC12.
Verwenden Sie für größere Cluster einen größeren Treiberknoten.
Unterschiede zwischen %pip, , %sh pipund !pip
%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.
Ab Databricks Runtime 11.3 LTS installieren %pip, %sh pip und !pip alle eine Bibliothek als notebookbezogene Python-Bibliothek. 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.
Bekannte Probleme
- Unter Databricks Runtime 9.1 LTS sind auf Notebooks beschränkte Bibliotheken nicht mit Batch-Streaming-Jobs kompatibel. Databricks empfiehlt stattdessen die Verwendung von Clusterbibliotheken oder dem IPython-Kernel.