Dela via


Biblioteksverktyget (dbutils.library) (äldre)

Kommentar

dbutils.library.install och dbutils.library.installPyPI API:er tas bort i Databricks Runtime 11.0 och senare. De flesta biblioteksverktygskommandon är inaktuella. De flesta biblioteksverktyg är inte tillgängliga på Databricks Runtime ML. Information om dbutils.library.restartPythonfinns i Starta om Python-processen i Azure Databricks.

Den här dokumentationen har dragits tillbaka och kanske inte uppdateras. De produkter, tjänster eller tekniker som nämns i det här innehållet stöds inte längre.

Databricks rekommenderar starkt att du använder %pip magiska kommandon för att installera bibliotek med notebook-omfång. Se Python-bibliotek med notebook-omfång.

Fullständig dokumentation för Databricks-verktygsfunktioner finns i Referens för Databricks Utilities (dbutils).

Kommandon: installera, installeraPyPI, lista, restartPython), updateCondaEnv

Med biblioteksverktyget kan du installera Python-bibliotek och skapa en miljö som är begränsad till en notebook-session. Biblioteken är tillgängliga både på drivrutinen och på körarna, så du kan referera till dem i användardefinierade funktioner. Detta aktiverar:

  • Biblioteksberoenden för en notebook-fil som ska ordnas i själva anteckningsboken.
  • Notebook-användare med olika biblioteksberoenden för att dela ett kluster utan interferens.

Om du kopplar från en notebook-fil förstörs den här miljön. Du kan dock återskapa den genom att köra biblioteks-API-kommandona install i notebook-filen igen. Se API:et restartPython för hur du kan återställa notebook-tillståndet utan att förlora din miljö.

Biblioteksverktyg är aktiverade som standard. Därför isoleras Python-miljön för varje notebook-fil som standard med hjälp av en separat körbar Python-fil som skapas när notebook-filen är kopplad till och ärver python-standardmiljön i klustret. Bibliotek som installeras via ett init-skript i Azure Databricks Python-miljön är fortfarande tillgängliga. Du kan inaktivera den här funktionen genom att ange spark.databricks.libraryIsolation.enabled till false.

Det här API:et är kompatibelt med den befintliga klusteromfattande biblioteksinstallationen via API:et för användargränssnitt och bibliotek. Bibliotek som installeras via det här API:et har högre prioritet än klusteromfattande bibliotek.

Om du vill visa en lista över tillgängliga kommandon kör du dbutils.library.help().

install(path: String): boolean -> Install the library within the current notebook session
installPyPI(pypiPackage: String, version: String = "", repo: String = "", extras: String = ""): boolean -> Install the PyPI library within the current notebook session
list: List -> List the isolated libraries added for the current notebook session via dbutils
restartPython: void -> Restart python process for the current notebook session
updateCondaEnv(envYmlContent: String): boolean -> Update the current notebook's Conda environment based on the specification (content of environment

install command (dbutils.library.install)

Med en sökväg till ett bibliotek installerar det biblioteket i den aktuella notebook-sessionen. Bibliotek som installeras genom att anropa det här kommandot är endast tillgängliga för den aktuella notebook-filen.

Om du vill visa hjälp för det här kommandot kör du dbutils.library.help("install").

I det här exemplet installeras ett .egg eller .whl ett bibliotek i en notebook-fil.

Viktigt!

dbutils.library.install tas bort i Databricks Runtime 11.0 och senare.

Databricks rekommenderar att du placerar alla biblioteksinstallationskommandon i den första cellen i anteckningsboken och anropar restartPython i slutet av cellen. Python-notebook-tillståndet återställs när den har körts restartPython. Anteckningsboken förlorar alla tillstånd, inklusive men inte begränsat till lokala variabler, importerade bibliotek och andra tillfälliga tillstånd. Därför rekommenderar vi att du installerar bibliotek och återställer notebook-tillståndet i den första notebook-cellen.

De godkända bibliotekskällorna är dbfs, abfss, adloch wasbs.

dbutils.library.install("abfss:/path/to/your/library.egg")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
dbutils.library.install("abfss:/path/to/your/library.whl")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

Kommentar

Du kan installera anpassade hjulfiler direkt med hjälp av %pip. I följande exempel antar vi att du har laddat upp bibliotekshjulsfilen till DBFS:

%pip install /dbfs/path/to/your/library.whl

Äggfiler stöds inte av pip, och hjulfiler anses vara standard för bygg- och binär paketering för Python. Men om du vill använda en äggfil på ett sätt som är kompatibelt med %pipkan du använda följande lösning:

# This step is only needed if no %pip commands have been run yet.
# It will trigger setting up the isolated notebook environment
%pip install <any-lib>  # This doesn't need to be a real library; for example "%pip install any-lib" would work
import sys
# Assuming the preceding step was completed, the following command
# adds the egg file to the current notebook environment
sys.path.append("/local/path/to/library.egg")

installPyPI-kommando (dbutils.library.installPyPI)

Med ett PyPI-paket (Python Package Index) installerar du paketet i den aktuella notebook-sessionen. Bibliotek som installeras genom att anropa det här kommandot är isolerade bland notebook-filer.

Om du vill visa hjälp för det här kommandot kör du dbutils.library.help("installPyPI").

I det här exemplet installeras ett PyPI-paket i en notebook-fil. version, repooch extras är valfria. extras Använd argumentet för att ange extrafunktioner (extra krav).

dbutils.library.installPyPI("pypipackage", version="version", repo="repo", extras="extras")
dbutils.library.restartPython()  # Removes Python state, but some libraries might not work without calling this command.

Viktigt!

dbutils.library.installPyPI tas bort i Databricks Runtime 11.0 och senare.

Nycklarna version och extras kan inte ingå i PyPI-paketsträngen. Till exempel: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0") är inte giltigt. Använd argumenten version och extras för att ange information om version och tillägg enligt följande:

dbutils.library.installPyPI("azureml-sdk", version="1.19.0", extras="databricks")
dbutils.library.restartPython()  # Removes Python state, but some libraries might not work without calling this command.

Kommentar

När du ersätter dbutils.library.installPyPI kommandon med %pip kommandon startas Python-tolken om automatiskt. Du kan köra installationskommandot på följande sätt:

%pip install azureml-sdk[databricks]==1.19.0

Det här exemplet anger bibliotekskrav i en notebook-fil och installerar dem med hjälp %run av i den andra. Det gör du genom att först definiera de bibliotek som ska installeras i en notebook-fil. I det här exemplet används en notebook-fil med namnet InstallDependencies.

dbutils.library.installPyPI("torch")
dbutils.library.installPyPI("scikit-learn", version="1.19.1")
dbutils.library.installPyPI("azureml-sdk", extras="databricks")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

Installera dem sedan i notebook-filen som behöver dessa beroenden.

%run /path/to/InstallDependencies # Install the dependencies in the first cell.
import torch
from sklearn.linear_model import LinearRegression
import azureml
...

Det här exemplet återställer Python Notebook-tillståndet samtidigt som miljön bibehålls. Den här tekniken är endast tillgänglig i Python-notebook-filer. Du kan till exempel använda den här tekniken för att läsa in bibliotek som Azure Databricks förinstallerat med en annan version:

dbutils.library.installPyPI("numpy", version="1.15.4")
dbutils.library.restartPython()
# Make sure you start using the library in another cell.
import numpy

Du kan också använda den här tekniken för att installera bibliotek som tensorflow som måste läsas in vid processstart:

dbutils.library.installPyPI("tensorflow")
dbutils.library.restartPython()
# Use the library in another cell.
import tensorflow

listkommando (dbutils.library.list)

Visar en lista över isolerade bibliotek som lagts till för den aktuella notebook-sessionen via biblioteksverktyget. Detta inkluderar inte bibliotek som är anslutna till klustret.

Om du vill visa hjälp för det här kommandot kör du dbutils.library.help("list").

I det här exemplet visas de bibliotek som är installerade i en notebook-fil.

dbutils.library.list()

Kommentar

Motsvarigheten till det här kommandot som använder %pip är:

%pip freeze

updateCondaEnv-kommandot (dbutils.library.updateCondaEnv)

Uppdaterar den aktuella notebook-filens Conda-miljö baserat på innehållet i environment.yml. Den här metoden stöds endast för Databricks Runtime på Conda.

Om du vill visa hjälp för det här kommandot kör du dbutils.library.help("updateCondaEnv").

Det här exemplet uppdaterar den aktuella notebook-filens Conda-miljö baserat på innehållet i den angivna specifikationen.

dbutils.library.updateCondaEnv(
"""
channels:
  - anaconda
dependencies:
  - gensim=3.4
  - nltk=3.4
""")