Knihovny Pythonu pro notebook

Knihovny s vymezeným poznámkovým blokem umožňují vytvářet, upravovat, ukládat, opakovaně používat a sdílet vlastní prostředí Pythonu, která jsou specifická pro poznámkový blok. Když nainstalujete knihovnu s vymezeným poznámkovým blokem, budou mít k této knihovně přístup jenom aktuální poznámkový blok a všechny úlohy přidružené k danému poznámkovému bloku. Jiné poznámkové bloky připojené ke stejnému clusteru nejsou ovlivněné.

Knihovny s vymezeným poznámkovým blokem se neuchovávají napříč relacemi. Knihovny vázané na poznámkový blok musíte znovu nainstalovat na začátku každé relace nebo kdykoli je poznámkový blok odpojen od clusteru.

Databricks doporučuje k instalaci knihoven Python omezených na daný poznámkový blok použít magický příkaz %pip. V bezserverových poznámkových blocích používajících verzi prostředí 5 nebo vyšší můžete také použít %uv pip pro rychlejší instalaci.

V poznámkových blocích, které jsou naplánované jako úlohy, můžete použít %pip . Pokud potřebujete spravovat prostředí Pythonu v poznámkovém bloku Scala, SQL nebo R, použijte %python příkaz magic ve spojení s %pip.

Při práci s instalacemi knihoven v rámci notebooku můžete zaznamenat zvýšený provoz na uzlu ovladače. Viz doporučení velikosti uzlu ovladače.

Pokud chcete nainstalovat knihovny pro všechny poznámkové bloky připojené ke clusteru, použijte knihovny clusteru. Viz knihovny s vymezeným výpočetním oborem.

Komplexní přehled možností dostupných pro instalaci knihoven Pythonu v Databricks najdete v tématu Správa prostředí Pythonu.

Správa knihoven pomocí %pip příkazů

Příkaz %pip je ekvivalentní příkazu pip a podporuje stejné rozhraní API. Následující části ukazují příklady použití %pip příkazů ke správě prostředí. Další informace o instalaci balíčků Pythonu pomocí pipnástroje pip najdete v dokumentaci k instalaci pip a souvisejících stránkách.

Důležité

  • %pip příkazy automaticky nerestartují proces Python. Pokud nainstalujete nový balíček nebo aktualizujete existující balíček, možná budete muset použít dbutils.library.restartPython(), abyste viděli nové balíčky. Viz Restartování procesu Pythonu v Azure Databricks.
  • Aktualizace, úpravy nebo odinstalace základních balíčků Pythonu (například IPython) pomocí %pip mohou způsobit, že některé funkce přestanou fungovat podle očekávání. Pokud narazíte na takové problémy, resetujte prostředí restartováním clusteru nebo spuštěním nové relace.

Rychlejší instalace s využitím %uv pip

Poznámka:

%uv pip je k dispozici pouze na serverless noteboocích se spuštěným prostředím verze 5 nebo novější. Klasické výpočetní a starší verze bezserverového prostředí nepodporují %uv pip.

Kouzelný %uv pip příkaz je rychlejší alternativou k %pip. %uv pip využívá správce balíčků UV a sdílí stejné virtuální prostředí poznámkového bloku jako %pip, takže balíčky nainstalované s jedním nástrojem jsou viditelné pro druhý.

%uv pip je rychlejší než %pip u instalací a operací jen pro čtení, například list. Díky tomu je vhodná pro iteraci nad specifikací prostředí.

%uv pip podporuje standardní pip dílčí příkazy: install, uninstall, list, show, freeze, check, a tree.

%uv pip install simplejson
%uv pip list

Další způsoby instalace na této stránce (svazky, soubory pracovního prostoru, soubory požadavků, systémy správy verzí, soukromé repozitáře) fungují s %uv pip. V kterémkoli z těchto příkladů můžete nahradit %pip za %uv pip.

%uv pip Omezení

  • %uv pip uninstall Aplikace nemůže plně odebrat knihovny, které jsou předinstalované v bezserverovém prostředí. Odeberou se pouze metadata balíčku. Základní soubory zůstanou v systému souborů a balíček je stále možné importovat.
  • %uv pip nekontroluje konflikty závislostí proti předinstalovaným knihovnám.
  • Po spuštění příkazů %uv pip se v postranním panelu Prostředí poznámkového bloku mohou některé předinstalované knihovny zobrazit jako nainstalované uživatelem. Jedná se o problém se zobrazením a nemá vliv na funkčnost balíčku.
  • %uv pip je určen pro rychlou interaktivní iteraci. Pokud chcete pro poznámkový blok nastavit reprodukovatelné prostředí, přidejte do bočního panelu prostředí poznámkového bloku závislosti.

Instalace knihovny pomocí %pip

%pip install matplotlib

Instalace balíčku kolečka Pythonu pomocí %pip

%pip install /path/to/my_package.whl

Odinstalace knihovny pomocí %pip

Poznámka:

Nemůžete odinstalovat knihovnu, která je uvedena v Poznámkách k verzi Databricks Runtime – verze a kompatibilita, ani knihovnu, která byla nainstalována jako knihovna clusteru. Pokud jste nainstalovali jinou verzi knihovny, než je ta, která je součástí databricks Runtime nebo ta, která je nainstalovaná v clusteru, můžete použít %pip uninstall k vrácení knihovny na výchozí verzi modulu Databricks Runtime nebo verze nainstalované v clusteru, ale nemůžete použít %pip příkaz k odinstalaci verze knihovny zahrnuté v Databricks Runtime nebo nainstalované v clusteru.

%pip uninstall -y matplotlib

Možnost -y je povinná.

Instalace knihovny ze systému správy verzí pomocí %pip

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

Do adresy URL můžete přidat parametry, které určují například verzi nebo podadresář Git. Další informace a příklady použití jiných systémů správy verzí najdete v podpoře VCS.

Instalace privátního balíčku s přihlašovacími údaji spravovanými tajnými kódy Databricks pomocí %pip

pip podporuje instalaci balíčků z privátních zdrojů pomocí základního ověřování, včetně systémů správy privátních verzí a úložišť privátních balíčků, jako jsou Nexus a Artifactory. Správa tajných kódů je dostupná prostřednictvím rozhraní API pro tajné kódy Databricks, které umožňuje ukládat ověřovací tokeny a hesla. K přístupu k tajným kódům z poznámkového bloku použijte rozhraní DBUtils API. Všimněte si, že můžete použít $variables v příkazech magic.

Chcete-li nainstalovat balíček ze soukromého úložiště, zadejte adresu URL úložiště pomocí volby --index-url příkazu %pip install nebo ji přidejte do konfiguračního souboru pip na adrese ~/.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/

Podobně můžete použít správu tajných kódů pomocí příkazů magic k instalaci privátních balíčků ze systémů správy verzí.

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

Instalace balíčku z DBFS pomocí %pip

Důležité

Každý uživatel pracovního prostoru může upravovat soubory uložené v DBFS. Azure Databricks doporučuje ukládat soubory do pracovních prostor nebo na oddílech Unity Catalog.

Můžete použít %pip k instalaci privátního balíčku, který byl uložen v DBFS.

Když soubor nahrajete do DBFS, automaticky soubor přejmenuje, nahradí mezery, tečky a pomlčky podtržítky. U souborů Python wheel pip vyžaduje, aby název souboru používal tečky v čísle verze (například 0.1.0) a pomlčky místo mezer nebo podtržítek, proto se tyto názvy souborů nemění.

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

Nainstalujte balíček ze svazku pomocí %pip

Důležité

Tato funkce je ve verzi Public Preview.

S Databricks Runtime ve verzi 13.3 LTS a novějších můžete pomocí %pip nainstalovat soukromý balíček, který byl uložen do svazku.

Když soubor nahrajete na svazek, automaticky soubor přejmenuje, nahradí mezery, tečky a pomlčky podtržítky. U souborů Python wheel pip vyžaduje, aby název souboru používal ve verzi tečky (například 0.1.0) a spojovníky místo mezer nebo podtržítek, takže se tyto názvy souborů nemění.

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

Nainstalujte balíček uložený jako soubor workspace pomocí %pip

V prostředí Databricks Runtime 11.3 LTS a vyšším můžete pomocí %pip nainstalovat soukromý balíček, který byl uložen jako soubor v pracovním prostoru.

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

Ukládání knihoven do souboru požadavků

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

Všechny podadresáře v cestě k souboru už musí existovat. Pokud spustíte %pip freeze > /Workspace/<new-directory>/requirements.txtpříkaz, příkaz selže, pokud /Workspace/<new-directory> adresář ještě neexistuje.

Instalace knihoven pomocí souboru požadavků

Soubor s požadavky obsahuje seznam balíčků, které se mají nainstalovat pomocí pip. Příkladem použití souboru požadavků je:

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

Další informace o souborech requirements.txt najdete v tématu Formát souboru požadavků.

Doporučení velikosti uzlu ovladače

Použití knihoven omezených na poznámkový blok může vést k vyššímu síťovému provozu směrem k uzlu ovladače, protože ten zajišťuje konzistenci prostředí napříč uzly executorů.

Pokud používáte cluster s 10 nebo více uzly, Databricks doporučuje tyto specifikace jako minimální požadavek na uzel ovladače:

  • Pro cluster procesoru s 100 uzly použijte Standard_D8ds_v5.
  • Pro cluster GPU s 10 uzly použijte Standard_NC12.

Pro větší clustery použijte větší řídicí uzel.

Rozdíly mezi %pip, %sh pipa !pip

%sh a ! spouštějí v poznámkovém bloku příkaz shellu; první z nich je pomocný magický příkaz Databricks , zatímco druhý je součástí IPythonu. pip je zkratka pro %pip, pokud je povolený režim automagic, což je výchozí nastavení v poznámkových blocích Python v Azure Databricks.

V Databricks Runtime 11.3 LTS a novějších verzích %pip, %sh pip a !pip všechny nainstalují knihovnu jako knihovnu Pythonu s rozsahem poznámkového bloku. V Databricks Runtime 10.4 LTS a nižších verzích Databricks doporučuje k instalaci knihoven s rozsahem na poznámkový blok používat pouze %pip nebo pip. Chování %sh pip a !pip není konzistentní v Databricks Runtime 10.4 LTS a níže.

Známé problémy

  • V prostředí Databricks Runtime 9.1 LTS nejsou knihovny s rozsahem omezeným na poznámkový blok kompatibilní s dávkovými a streamovacími úlohami. Databricks místo toho doporučuje používat knihovny clusteru nebo jádro IPythonu.