Biblioteki języka Python dla notebooka

Biblioteki powiązane z notatnikiem umożliwiają tworzenie, modyfikowanie, zapisywanie, ponowne używanie i udostępnianie niestandardowych środowisk Python przypisanych do danego notatnika. Po zainstalowaniu biblioteki o zakresie ograniczonym do notesu dostęp do niej ma tylko bieżący notes oraz wszystkie zadania powiązane z tym notesem. Pozostałe notesy dołączone do tego samego klastra nie są tym dotknięte.

Biblioteki na poziomie notesu nie są zachowywane między sesjami. Należy ponownie zainstalować biblioteki przypisane do notatnika na początku każdej sesji lub za każdym razem, gdy notatnik zostanie odłączony od klastra.

Databricks zaleca używanie polecenia magicznego %pip do instalowania bibliotek języka Python w zakresie notesu. W bezserwerowych notatnikach działających w środowisku w wersji 5 lub nowszej można również użyć %uv pip, aby przyspieszyć instalację.

Możesz użyć %pip w notatnikach zaplanowanych jako zadania. Jeśli musisz zarządzać środowiskiem języka Python w notesie języka Scala, SQL lub R, użyj polecenia magicznego %python w połączeniu z %pip.

Podczas pracy z instalowaniem bibliotek w zakresie notesu może wystąpić zwiększony ruch do węzła sterownika. Zobacz Zalecenia dotyczące rozmiaru węzła sterownika.

Aby zainstalować biblioteki dla wszystkich notesów dołączonych do klastra, użyj bibliotek klastra. Zobacz Biblioteki o zakresie obliczeniowym.

Aby zapoznać się z kompleksowym omówieniem opcji dostępnych do instalowania bibliotek języka Python w usłudze Databricks, zobacz Zarządzanie środowiskiem języka Python.

Zarządzanie bibliotekami za pomocą %pip poleceń

Polecenie %pip jest równoważne poleceniu pip i obsługuje ten sam interfejs API. W poniższych sekcjach przedstawiono przykłady używania %pip poleceń do zarządzania środowiskiem. Aby uzyskać więcej informacji o instalowaniu pakietów języka Python za pomocą pip, zobacz dokumentację polecenia pip install i powiązane strony.

Ważne

  • %pip polecenia nie uruchamiają automatycznie procesu Python. Jeśli zainstalujesz nowy pakiet lub zaktualizujesz istniejący pakiet, może być konieczne użycie dbutils.library.restartPython() w celu wyświetlenia nowych pakietów. Zobacz Ponowne uruchamianie procesu języka Python w usłudze Azure Databricks.
  • Uaktualnianie, modyfikacja lub odinstalowywanie podstawowych pakietów języka Python (takich jak IPython) za pomocą %pip może spowodować, że niektóre funkcje przestaną działać zgodnie z oczekiwaniami. Jeśli wystąpią takie problemy, zresetuj środowisko, uruchamiając ponownie klaster lub uruchamiając nową sesję.

Szybsze instalowanie za pomocą polecenia %uv pip

Uwaga

%uv pip jest dostępny tylko w notesach bezserwerowych z uruchomionym środowiskiem w wersji 5 lub nowszej. Klasyczne środowisko obliczeniowe i wcześniejsze wersje środowiska bezserwerowego nie obsługują %uv pip.

Polecenie magiczne %uv pip jest szybszą alternatywą dla %pip. %uv pip program jest obsługiwany przez menedżera pakietów uv i udostępnia to samo środowisko wirtualne notesu co %pip, dlatego pakiety zainstalowane za pomocą jednego narzędzia są widoczne dla drugiego.

%uv pip jest szybszy niż %pip podczas instalacji i operacji odczytu, takich jak list. To sprawia, że dobrze nadaje się do iteracji na podstawie specyfikacji środowiska.

%uv pip obsługuje standardowe pip podpolecenia: install, uninstall, list, show, freeze, check i tree.

%uv pip install simplejson
%uv pip list

Inne wzorce instalacji na tej stronie (woluminy, pliki obszaru roboczego, pliki wymagań, kontrola wersji, repozytoria prywatne) współpracują z programem %uv pip. Możesz zastąpić ciąg %pip ciągiem %uv pip w dowolnym z tych przykładów.

%uv pip Ograniczenia

  • %uv pip uninstall Program nie może w pełni usunąć bibliotek, które są wstępnie zainstalowane w środowisku bezserwerowym. Usunięto tylko metadane pakietu. Pliki bazowe pozostają w systemie plików, a pakiet jest nadal importowalny.
  • %uv pip nie sprawdza konfliktów zależności z wcześniej zainstalowanymi bibliotekami.
  • Po uruchomieniu poleceń %uv pip panel boczny Środowisko notatnika może wyświetlać niektóre wstępnie zainstalowane biblioteki jako zainstalowane przez użytkownika. Jest to problem z wyświetlaniem i nie ma wpływu na funkcjonalność pakietu.
  • %uv pip jest przeznaczony do szybkiej iteracji interakcyjnej. Aby skonfigurować powtarzalne środowisko dla notesu, dodaj zależności w panelu bocznym Środowisko notesu.

Instalowanie biblioteki za pomocą polecenia %pip

%pip install matplotlib

Instalowanie pakietu wheel języka Python za pomocą polecenia %pip

%pip install /path/to/my_package.whl

Odinstalowywanie biblioteki za pomocą polecenia %pip

Uwaga

Nie można odinstalować biblioteki uwzględnionej w informacjach o wersjach i zgodności środowiska Databricks Runtime ani biblioteki zainstalowanej jako biblioteka klastra. Jeśli zainstalowano inną wersję biblioteki niż ta zawarta w środowisku Databricks Runtime lub zainstalowana w klastrze, możesz użyć %pip uninstall polecenia , aby przywrócić bibliotekę do domyślnej wersji środowiska Databricks Runtime lub wersji zainstalowanej w klastrze, ale nie można użyć %pip polecenia w celu odinstalowania wersji biblioteki zawartej w środowisku Databricks Runtime lub zainstalowanej w klastrze.

%pip uninstall -y matplotlib

Opcja -y jest wymagana.

Instalowanie biblioteki z systemu kontroli wersji za pomocą polecenia %pip

%pip install git+https://github.com/databricks/databricks-cli

Parametry można dodać do adresu URL, aby określić elementy, takie jak wersja lub podkatalog git. Więcej informacji oraz przykłady użycia innych systemów kontroli wersji znajdziesz w sekcji obsługa VCS.

Instalowanie pakietu prywatnego z użyciem poświadczeń zarządzanych przez tajne wpisy Databricks przy użyciu %pip.

pip obsługuje instalowanie pakietów ze źródeł prywatnych przy użyciu uwierzytelniania podstawowego, w tym prywatnych systemów kontroli wersji i prywatnych repozytoriów pakietów, takich jak Nexus i Artifactory. Zarządzanie wpisami tajnymi jest dostępne za pośrednictwem interfejsu API wpisów tajnych usługi Databricks, który umożliwia przechowywanie tokenów uwierzytelniania i haseł. Użyj interfejsu API DBUtils, aby uzyskać dostęp do wpisów tajnych z notesu. Pamiętaj, że możesz używać elementu $variables w poleceniach magicznych.

Aby zainstalować pakiet z prywatnego repozytorium, podaj adres URL repozytorium za pomocą opcji --index-url do %pip install lub dodaj go do pliku konfiguracji pip w lokalizacji ~/.pip/pip.conf.

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/

Podobnie można używać zarządzania sekretami w połączeniu z poleceniami magicznymi, aby instalować prywatne pakiety z systemów kontroli wersji.

token = dbutils.secrets.get(scope="scope", key="key")
%pip install git+https://<user>:$token@<gitprovider>.com/<path/to/repo>

Instalowanie pakietu z systemu plików DBFS za pomocą polecenia %pip

Ważne

Każdy użytkownik obszaru roboczego może modyfikować pliki przechowywane w systemie plików DBFS. Usługa Azure Databricks zaleca przechowywanie plików w obszarach roboczych lub na woluminach Unity Catalog.

Możesz użyć %pip polecenia , aby zainstalować pakiet prywatny zapisany w systemie plików DBFS.

Podczas przekazywania pliku do systemu plików DBFS automatycznie zmienia nazwę pliku, zastępując spacje, kropki i łączniki podkreśleniami. W przypadku plików wheel dla języka Python pip wymaga, aby nazwa pliku zawierała kropki w numerze wersji (na przykład 0.1.0) oraz myślniki zamiast spacji lub znaków podkreślenia, więc te nazwy plików nie są zmieniane.

%pip install /dbfs/mypackage-0.0.1-py3-none-any.whl

Zainstaluj pakiet z woluminu za pomocą %pip

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

W środowisku Databricks Runtime 13.3 LTS i nowszych można użyć %pip, aby zainstalować prywatny pakiet zapisany w woluminie.

Podczas przekazywania pliku do woluminu automatycznie zmienia nazwę pliku, zastępując spacje, kropki i łączniki podkreśleniami. W przypadku plików wheel języka Python pip wymaga, aby nazwa pliku używała kropek w numerze wersji (na przykład 0.1.0) oraz myślników zamiast spacji lub podkreśleń, więc te nazwy nie są zmieniane.

%pip install /Volumes/<catalog>/<schema>/<path-to-library>/mypackage-0.0.1-py3-none-any.whl

Instalowanie pakietu przechowywanego jako plik obszaru roboczego za pomocą polecenia %pip

W środowisku Databricks Runtime 11.3 LTS i nowszych można za pomocą %pip zainstalować pakiet prywatny zapisany jako plik w obszarze roboczym.

%pip install /Workspace/<path-to-whl-file>/mypackage-0.0.1-py3-none-any.whl

Zapisywanie bibliotek w pliku wymagań

%pip freeze > /Workspace/shared/prod_requirements.txt

Wszystkie podkatalogi w ścieżce pliku muszą już istnieć. Jeśli uruchomisz %pip freeze > /Workspace/<new-directory>/requirements.txtpolecenie , polecenie zakończy się niepowodzeniem, jeśli katalog /Workspace/<new-directory> jeszcze nie istnieje.

Instalowanie bibliotek przy użyciu pliku wymagań

Plik wymagań zawiera listę pakietów do zainstalowania przy użyciu pip. Przykładem użycia pliku wymagań jest:

%pip install -r /Workspace/shared/prod_requirements.txt

Więcej informacji o plikach requirements.txt znajdziesz w sekcji Requirements File Format.

Zalecenia dotyczące rozmiaru węzła sterownika

Użycie bibliotek przypisanych do notesu może skutkować większym ruchem kierowanym do węzła sterownika, ponieważ węzeł ten odpowiada za utrzymanie spójności środowiska na wszystkich węzłach wykonawczych.

W przypadku korzystania z klastra z co najmniej 10 węzłami usługa Databricks zaleca te specyfikacje jako minimalne wymaganie dla węzła sterownika:

  • W przypadku klastra procesora CPU z 100 węzłami użyj Standard_D8ds_v5.
  • W przypadku klastra gpu z 10 węzłami użyj Standard_NC12.

W przypadku większych klastrów należy użyć większego węzła sterownika.

Różnice między %pip, %sh pipi !pip

%sh i ! służą do wykonywania poleceń powłoki w notatniku; pierwsze z nich to pomocnicze polecenie magic w Databricks, a drugie jest funkcją IPython. pip jest skrótem oznaczającym %pip, gdy funkcja automagic jest włączona, co jest ustawieniem domyślnym w notesach Python w usłudze Azure Databricks.

W środowisku Databricks Runtime 11.3 LTS i nowszych, %pip, %sh pip i !pip instalują bibliotekę jako bibliotekę Python o zakresie notesu. W środowisku Databricks Runtime 10.4 LTS i starszych wersjach firma Databricks zaleca używanie wyłącznie %pip lub pip do instalowania bibliotek o zakresie notebooka. Zachowanie elementów %sh pip i !pip nie jest spójne w Databricks Runtime 10.4 LTS i starszych wersjach.

Znane problemy

  • W środowisku Databricks Runtime 9.1 LTS biblioteki o zakresie notesnika są niezgodne z wsadowymi zadaniami przesyłania strumieniowego. Databricks zamiast tego zaleca używanie bibliotek klastra lub jądra IPython.