Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Každá aplikace Databricks může obsahovat závislosti pro Python, Node.jsnebo obojí. Tyto závislosti definujete v souborech specifických pro jazyk:
-
requirements.txtPoužijte soubor pro určení balíčků Python nainstalovaných pomocípip. Viz Definice závislostí Pythonu pomocípip. - Soubor
pyproject.tomlpoužijte ke specifikaci balíčků Python instalovaných pomocíuv. Viz Definice závislostí Pythonu pomocíuv. -
package.jsonK určení balíčkůNode.js použijte soubor. Viz Definice Node.js závislostí.
Definování závislostí Pythonu pomocí pip
Aplikace, které používají pip , mají sadu předinstalovaných knihoven Pythonu. Pro definování dalších knihoven Pythonu použijte soubor requirements.txt. Pokud některé uvedené balíčky odpovídají předinstalovaným, verze ve vašem souboru nahradí výchozí.
Například:
# Override default version of dash
dash==2.10.0
# Add additional libraries not pre-installed
requests==2.31.0
numpy==1.24.3
# Specify a compatible version range
scikit-learn>=1.2.0,<1.3.0
Předinstalované knihovny Pythonu
Pro aplikace založené na pipjazyce Python jsou předinstalované následující knihovny Pythonu. Pokud nepotřebujete jinou verzi, nemusíte je do svého requirements.txt zahrnout.
| Knihovna | Verze |
|---|---|
| Databricks SQL Connector | 3.4.0 |
| Databricks SDK | 0.33.0 |
| mlflow-skinny | 2.16.2 |
| gradio | 4.44.0 |
| Streamlit | 1.38.0 |
| lesklý | 1.1.0 |
| pomlčka | 2.18.1 |
| baňka | 3.0.3 |
| fastapi | 0.115.0 |
| uvicorn[standard] | 0.30.6 |
| gunicorn | 23.0.0 |
| huggingface-hub | 0.35.3 |
| dash-ag-grid | 31.2.0 |
| dash-mantine-components | 0.14.4 |
| dash-bootstrap-components | 1.6.0 |
| plotly | 5.24.1 |
| převzorkování plotly | 0.10.0 |
Definování závislostí Pythonu pomocí uv
Pokud vaše aplikace používá uv ke správě závislostí, definujte závislosti Pythonu pyproject.toml v souboru místo requirements.txt. Předinstalované knihovny nejsou dostupné pro aplikace založené na uv. Musíte deklarovat všechny závislosti ve svém pyproject.toml. Pomocí pole můžete také zadat libovolnou verzi Pythonu requires-python , na rozdíl od aplikací založených na pipPythonu 3.11.
Během nasazování aplikace Databricks vybere strategii instalace na základě toho, které soubory jsou k dispozici:
- Pokud
requirements.txtexistuje, aplikace používápipk instalaci závislostí bez ohledu na to, jestlipyproject.tomlje k dispozici.requirements.txtvždy má přednost. - Pokud
requirements.txtneexistuje a pokud existují jakpyproject.tomltakuv.lock, aplikace používáuvk instalaci závislostí ze souboru uzamčení.
Instalační uv program vytvoří a spravuje vlastní virtuální prostředí, takže nemusíte vytvářet .venv adresář.
Následující příklad ukazuje minimální pyproject.toml pro aplikaci Databricks:
[project]
name = "my-app"
requires-python = ">=3.11"
dependencies = [
"dash==2.10.0",
"requests==2.31.0",
]
Chcete-li použít uv, musíte zahrnout uv.lock soubor spolu s vaším pyproject.toml. Vygenerujte ho spuštěním uv lock místně a zahrňte ho do adresáře aplikace.
Definování závislostí Node.js
Pokud chcete definovat Node.js knihovny, zahrňte package.json soubor do kořenového adresáře aplikace. Během nasazování Azure Databricks zjistí tento soubor a spustí npm install pro instalaci všech závislostí uvedených v tomto souboru.
Například package.json soubor aplikace React používající Vite může vypadat takto:
{
"name": "react-fastapi-app",
"version": "1.0.0",
"private": true,
"type": "module",
"scripts": {
"build": "npm run build:frontend",
"build:frontend": "vite build frontend"
},
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0",
"typescript": "^5.0.0",
"vite": "^5.0.0",
"@vitejs/plugin-react": "^4.2.0",
"@types/react": "^18.2.0",
"@types/react-dom": "^18.2.0"
}
}
Poznámka:
Uveďte všechny balíčky vyžadované pro npm run build pod dependencies, nikoli pod devDependencies. Pokud nastavíte NODE_ENV=production v proměnných prostředí, proces nasazení přeskočí instalaci devDependencies.
Vyhněte se konfliktům verzí
Při definování závislostí mějte na paměti následující skutečnosti:
- U
pipaplikací založených na předinstalovaných aplikacích může přepsání předinstalovaných balíčků způsobit problémy s kompatibilitou, pokud se zadaná verze výrazně liší od předinstalované verze. - Vždy otestujte aplikaci, abyste měli jistotu, že změny verze balíčku nezavádějí chyby.
- Připnutí explicitních verzí
requirements.txtpomáhá udržovat konzistentní chování aplikace napříč nasazeními. - Při použití
uvzahrňteuv.locksoubor pro plně reprodukovatelné instalace napříč nasazeními.
Instalace a správa závislostí
Knihovny definované v requirements.txt, pyproject.toml a package.json se instalují přímo do kontejneru spuštěného na vašem dedikovaném výpočetním zařízení. Zodpovídáte za správu a opravy těchto závislostí.
V souborech závislostí můžete zadat knihovny z více zdrojů:
- Knihovny stažené z veřejných úložišť, jako je PyPI a npm
- Privátní úložiště, která se ověřují pomocí přihlašovacích údajů uložených v tajných klíčích Azure Databricks
- Knihovny uložené v
/Volumes/adresáři (například/Volumes/<catalog>/<schema>/<volume>/<path>)
Instalace z privátních úložišť
Pokud chcete instalovat balíčky z privátního úložiště, nakonfigurujte proměnné prostředí pro ověřování. Například nastavte PIP_INDEX_URL odkaz na privátní úložiště:
env:
- name: PIP_INDEX_URL
valueFrom: my-pypi-secret
Konfigurace sítě pracovního prostoru musí umožňovat přístup k privátnímu úložišti. Viz Konfigurace sítí pro Databricks Apps.
Instalace souborů kol ze svazků katalogu Unity
Instalace balíčků Pythonu ze souborů ve formátu Wheel uložených ve svazcích Unity Katalogu:
- Přidejte do aplikace katalog Unity svazek jako zdroj. Viz svazek katalogu Unity.
- Odkazujte přímo na plnou cestu k wheel souboru ve vašem
requirements.txt:
/Volumes/<catalog>/<schema>/<volume>/my_package-1.0.0-py3-none-any.whl
Poznámka:
Odkazy na proměnné prostředí nejsou podporovány v requirements.txt. Musíte pevně zakódovat úplnou cestu k souboru kolečka.
Pokud chcete zvýšit zabezpečení při přístupu k externím úložištím balíčků, použijte ovládací prvky výchozího přenosu dat bez serveru, abyste omezili přístup k veřejným úložištím a nakonfigurovali privátní sítě. Viz Konfigurace sítí pro Databricks Apps.