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.
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.
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 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ą pip
programu , zobacz dokumentację instalacji narzędzia 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życiedbutils.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 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.txt
polecenie , 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
, !pip
lub pip
? Jaka jest różnica?
%sh
i !
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.