Biblioteki języka Python o zakresie notesu

Biblioteki o zakresie notesu umożliwiają tworzenie, modyfikowanie, zapisywanie, ponowne używanie i udostępnianie niestandardowych środowisk języka Python specyficznych dla notesu. Podczas instalowania biblioteki o zakresie notesu tylko bieżący notes i wszystkie zadania skojarzone z tym notesem mają dostęp do tej biblioteki. Nie ma to wpływu na inne notesy dołączone do tego samego klastra.

Biblioteki o zakresie notesu nie są utrwalane między sesjami. Należy ponownie zainstalować biblioteki o zakresie notesu na początku każdej sesji lub zawsze, gdy notes jest odłączony od klastra.

Usługa Databricks zaleca użycie %pip polecenia magic w celu zainstalowania bibliotek języka Python o zakresie notesu.

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

Podczas pracy z instalacją biblioteki o zakresie notesu może wystąpić większy ruch do węzła sterownika. Zobacz Jak duży powinien być węzeł sterownika podczas pracy z bibliotekami o zakresie notesu?.

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

Uwaga

W środowisku Databricks Runtime 10.4 LTS i poniżej możesz użyć (starszej wersji) narzędzia biblioteki usługi Azure Databricks. Narzędzie biblioteki jest obsługiwane tylko w środowisku Databricks Runtime, a nie w środowisku Databricks Runtime ML. Zobacz Narzędzie biblioteki (dbutils.library) (starsza wersja).

Zarządzanie bibliotekami za pomocą %pip poleceń

Polecenie %pip jest równoważne z poleceniem 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 na temat instalowania pakietów języka Python za pomocą pipprogramu , zobacz dokumentację instalacji narzędzia pip i powiązane strony.

Ważne

  • Począwszy od poleceń środowiska Databricks Runtime 13.0 %pip , nie uruchamiają się automatycznie ponownie procesu języka Python. Jeśli zainstalujesz nowy pakiet lub zaktualizujesz istniejący pakiet, może być konieczne użycie dbutils.library.restartPython() polecenia , aby wyświetlić nowe pakiety. Zobacz Ponowne uruchamianie procesu języka Python w usłudze Azure Databricks.
  • W środowisku Databricks Runtime 12.2 LTS i poniżej usługa Databricks zaleca umieszczenie wszystkich %pip poleceń na początku notesu. Stan notesu jest resetowany po każdym %pip poleceniu, które modyfikuje środowisko. Jeśli utworzysz metody lub zmienne języka Python w notesie, a następnie użyjesz %pip poleceń w późniejszej komórce, metody lub zmienne zostaną utracone.
  • Uaktualnianie, modyfikowanie lub odinstalowywanie podstawowych pakietów języka Python (takich jak IPython) może spowodować, że niektóre funkcje przestaną działać zgodnie z %pip oczekiwaniami. Jeśli wystąpią takie problemy, zresetuj środowisko, odłączając i ponownie dołączając notes lub ponownie uruchamiając klaster.

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 dołączonej do wersji informacji o wersji środowiska Databricks Runtime oraz zgodności lub 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 jest wymagana -y .

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. Aby uzyskać więcej informacji, zobacz obsługę vcS, aby uzyskać więcej informacji i przykłady korzystania z innych systemów kontroli wersji.

Instalowanie pakietu prywatnego przy użyciu poświadczeń zarządzanych przez wpisy tajne usługi Databricks za pomocą polecenia %pip

Narzędzie 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żyć $variables polecenia magic.

Aby zainstalować pakiet z repozytorium prywatnego, określ adres URL repozytorium z --index-url opcją %pip install lub dodaj go do pip pliku konfiguracji pod adresem ~/.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żyć zarządzania wpisami tajnymi za pomocą poleceń magic, aby zainstalować 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 wykazu aparatu Unity.

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 języka Python wymaga, pip aby nazwa pliku używała okresów w wersji (na przykład 0.1.0) i łączników zamiast spacji lub podkreśleń, więc te nazwy plików nie są zmieniane.

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

Instalowanie pakietu z woluminu za pomocą polecenia %pip

Ważne

Ta funkcja jest dostępna w publicznej wersji zapoznawczej.

Za pomocą środowiska Databricks Runtime 13.3 LTS lub nowszego można %pip zainstalować pakiet prywatny 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 wymaga, pip aby nazwa pliku używała okresów w wersji (na przykład 0.1.0) i łączników zamiast spacji lub podkreśleń, więc te nazwy plików 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

Za pomocą środowiska Databricks Runtime 11.3 LTS lub nowszego można %pip zainstalować pakiet prywatny zapisany jako plik obszaru roboczego.

%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 programu pip. Przykładem użycia pliku wymagań jest:

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

Aby uzyskać więcej informacji na requirements.txt temat plików, zobacz Format pliku wymagań.

Jak duży powinien być węzeł sterownika podczas pracy z bibliotekami o zakresie notesu?

Użycie bibliotek o zakresie notesu może spowodować większy ruch do węzła sterownika, ponieważ działa w celu zapewnienia spójności środowiska między węzłami funkcji wykonawczej.

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_DS5_v2.
  • 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.

Czy mogę użyć %sh pip, !piplub pip? Jaka jest różnica?

%shi ! wykonaj polecenie powłoki w notesie; pierwszy jest pomocniczym poleceniem magic usługi Databricks, a drugi jest funkcją IPython. pip Jest skrótem od %pip momentu włączenia funkcji automagic , która jest domyślna w notesach języka Python usługi Azure Databricks.

W środowisku Databricks Runtime 11.3 LTS lub nowszym %pip%sh pip, i !pip wszystkie zainstalują bibliotekę jako bibliotekę języka Python o zakresie notesu. W środowisku Databricks Runtime 10.4 LTS i poniżej usługa Databricks zaleca używanie tylko %pip bibliotek o zakresie notesu lub pip instalowanie bibliotek o zakresie notesu. Zachowanie i %sh pip!pip nie jest spójne w środowisku Databricks Runtime 10.4 LTS i poniżej.

Znane problemy

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