Bibliotheekhulpprogramma (dbutils.library) (verouderd)

Notitie

dbutils.library.install en dbutils.library.installPyPI API's worden verwijderd in Databricks Runtime 11.0 en hoger. De meeste bibliotheekhulpprogramma-opdrachten zijn verouderd. De meeste bibliotheekhulpprogramma's zijn niet beschikbaar in Databricks Runtime ML. Zie Het Python-proces opnieuw starten in Azure Databricks voor informatie over dbutils.library.restartPython.

Deze documentatie is buiten gebruik gesteld en wordt mogelijk niet bijgewerkt. De producten, services of technologieën die in deze inhoud worden genoemd, worden niet meer ondersteund.

Databricks raadt u ten zeerste aan %pip magische opdrachten te gebruiken om bibliotheken met notebookbereik te installeren. Zie Notebook-scoped Python libraries (Notebook-scoped Python-bibliotheken) voor meer informatie.

Raadpleeg de naslaginformatie over Databricks-hulpprogramma'sdbutils voor de volledige documentatie over de functionaliteit van Databricks-hulpprogramma's.

Opdrachten: install, installPyPI, list, restartPython), updateCondaEnv

Met het bibliotheekhulpprogramma kunt u Python-bibliotheken installeren en een omgeving maken die is afgestemd op een notebooksessie. De bibliotheken zijn zowel beschikbaar in het stuurprogramma als op de uitvoerders, zodat u ernaar kunt verwijzen in door de gebruiker gedefinieerde functies. Dit maakt het volgende mogelijk:

  • Bibliotheekafhankelijkheden in een notebook die binnen het notebook zelf moeten worden beheerd.
  • Notebookgebruikers met verschillende bibliotheekafhankelijkheden kunnen een cluster delen zonder elkaar te storen.

Als u een notebook loskoppelt, wordt deze omgeving vernietigd. U kunt het echter opnieuw creëren door de API-opdrachten van de bibliotheek install opnieuw uit te voeren in het notebook. Zie de restartPython API voor hoe u de status van uw notebook opnieuw kunt instellen zonder uw omgeving te verliezen.

Bibliotheekhulpprogramma's zijn standaard ingeschakeld. Daarom wordt standaard de Python-omgeving voor elk notebook geïsoleerd met behulp van een afzonderlijk Uitvoerbaar Python-bestand dat wordt gemaakt wanneer het notebook is gekoppeld aan en de standaard Python-omgeving in het cluster over neemt. Bibliotheken die zijn geïnstalleerd via een init-script in de Azure Databricks Python-omgeving, zijn nog steeds beschikbaar. U kunt deze functie uitschakelen door deze instelling in te stellen spark.databricks.libraryIsolation.enabled op false.

Deze API is compatibel met de bestaande bibliotheekinstallatie voor het hele cluster via de GEBRUIKERSinterface en bibliotheken-API. Bibliotheken die via deze API zijn geïnstalleerd, hebben een hogere prioriteit dan bibliotheken voor het hele cluster.

Als u de beschikbare opdrachten wilt weergeven, voert u het volgende uit 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

installatieopdracht (dbutils.library.install)

Wanneer een pad naar een bibliotheek is opgegeven, wordt die bibliotheek in de huidige notebooksessie geïnstalleerd. Bibliotheken die zijn geïnstalleerd door deze opdracht aan te roepen, zijn alleen beschikbaar voor het huidige notebook.

Als u Help voor deze opdracht wilt weergeven, voert u dbutils.library.help("install") uit.

In dit voorbeeld wordt een .egg of .whl bibliotheek in een notebook geïnstalleerd.

Belangrijk

dbutils.library.install wordt verwijderd in Databricks Runtime 11.0 en hoger.

Databricks raadt u aan om alle installatieopdrachten van uw bibliotheek in de eerste cel van uw notebook te plaatsen en aan het einde van die cel aan te roepen restartPython . De status van het Python-notebook wordt opnieuw ingesteld nadat het is uitgevoerd restartPython. Het notebook verliest alle statussen, inclusief maar niet beperkt tot lokale variabelen, geïmporteerde bibliotheken en andere tijdelijke statussen. Daarom raden we u aan bibliotheken te installeren en de status van het notitieblok in de eerste notebookcel opnieuw in te stellen.

De geaccepteerde bibliotheekbronnen zijn dbfs, abfssen adlwasbs.

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.

Notitie

U kunt aangepaste wielbestanden rechtstreeks installeren met behulp van %pip. In het volgende voorbeeld gaan we ervan uit dat u uw bibliotheekwielbestand hebt geüpload naar DBFS:

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

Egg-bestanden worden niet ondersteund door pip, en wheel-bestanden gelden als de standaard voor het builden en binair verpakken van Python. Als u echter een eierbestand wilt gebruiken op een manier die compatibel is met %pip, kunt u de volgende tijdelijke oplossing gebruiken:

# 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-opdracht (dbutils.library.installPyPI)

Als u een PyPI-pakket (Python Package Index) krijgt, installeert u dat pakket in de huidige notebooksessie. Bibliotheken die zijn geïnstalleerd door deze opdracht aan te roepen, worden geïsoleerd tussen notebooks.

Als u Help voor deze opdracht wilt weergeven, voert u dbutils.library.help("installPyPI") uit.

In dit voorbeeld wordt een PyPI-pakket in een notebook geïnstalleerd. version, repoen extras zijn optioneel. Gebruik het argument extras om de functie Extra's (extra vereisten) te specificeren.

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.

Belangrijk

dbutils.library.installPyPI wordt verwijderd in Databricks Runtime 11.0 en hoger.

De toetsen version en extras kunnen geen deel uitmaken van de PyPI-pakketreeks. Bijvoorbeeld: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0") is ongeldig. Gebruik de version en extras argumenten om de versie- en extragegevens als volgt op te geven:

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.

Notitie

Wanneer u opdrachten vervangt dbutils.library.installPyPI door %pip opdrachten, wordt de Python-interpreter automatisch opnieuw opgestart. U kunt de installatieopdracht als volgt uitvoeren:

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

In dit voorbeeld worden in het ene notebook bibliotheekafhankelijkheden opgegeven en in het andere geïnstalleerd door %run te gebruiken. Hiervoor definieert u eerst de bibliotheken die u in een notebook wilt installeren. In dit voorbeeld wordt een notebook met de naam InstallDependenciesgebruikt.

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.

Installeer ze vervolgens in het notebook dat deze afhankelijkheden nodig heeft.

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

In dit voorbeeld wordt de status van het Python-notebook opnieuw ingesteld terwijl de omgeving wordt onderhouden. Deze techniek is alleen beschikbaar in Python-notebooks. U kunt deze techniek bijvoorbeeld gebruiken om bibliotheken van Azure Databricks opnieuw te laden die vooraf zijn geïnstalleerd met een andere versie:

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

U kunt deze techniek ook gebruiken om bibliotheken te installeren, zoals tensorflow die moeten worden geladen bij het opstarten van het proces:

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

opdracht voor weergeven (dbutils.library.list)

Een lijst met de geïsoleerde bibliotheken die zijn toegevoegd voor de huidige notebooksessie via het bibliotheekhulpprogramma. Dit omvat geen bibliotheken die zijn gekoppeld aan het cluster.

Als u Help voor deze opdracht wilt weergeven, voert u dbutils.library.help("list") uit.

In dit voorbeeld worden de bibliotheken weergegeven die zijn geïnstalleerd in een notebook.

dbutils.library.list()

Notitie

Het equivalent van deze opdracht is %pip :

%pip freeze

opdracht updateCondaEnv (dbutils.library.updateCondaEnv)

Hiermee wordt de Conda-omgeving van het huidige notebook bijgewerkt op basis van de inhoud van environment.yml. Deze methode wordt alleen ondersteund voor Databricks Runtime op Conda.

Als u Help voor deze opdracht wilt weergeven, voert u dbutils.library.help("updateCondaEnv") uit.

In dit voorbeeld wordt de Conda-omgeving van het huidige notebook bijgewerkt op basis van de inhoud van de opgegeven specificatie.

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