Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Każda aplikacja usługi Databricks może zawierać zależności dla języka Python, Node.jslub obu tych elementów. Te zależności definiuje się w plikach specyficznych dla języka:
- Użyj pliku
requirements.txt, aby określić pakiety Python zainstalowane za pomocąpip. Zobacz Definiowanie zależności języka Python za pomocą poleceniapip. - Użyj pliku
pyproject.toml, aby określić pakiety Python zainstalowane za pomocąuv. Zobacz Definiowanie zależności języka Python za pomocą poleceniauv. - Użyj pliku
package.json, aby określić pakiety Node.js. Zobacz Definiowanie zależności Node.js.
Definiowanie zależności języka Python za pomocą polecenia pip
Aplikacje, które używają pip, zawierają wstępnie zainstalowane biblioteki języka Python. Aby zdefiniować dodatkowe biblioteki języka Python, użyj requirements.txt pliku. Jeśli jakiekolwiek pakiety wymienione są zgodne ze wstępnie zainstalowanymi pakietami, wersje w pliku zastępują wartości domyślne.
Przykład:
# 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
Wstępnie zainstalowane biblioteki języka Python
Następujące biblioteki języka Python są wstępnie zainstalowane dla aplikacji opartych na pip. Nie musisz dołączać ich do swojego requirements.txt, chyba że potrzebujesz innej wersji.
| Biblioteka | Wersja |
|---|---|
| databricks-sql-konektor | 3.4.0 |
| databricks-sdk | 0.33.0 |
| mlflow-skinny | 2.16.2 |
| gradio | 4.44.0 |
| streamlit | 1.38.0 |
| błyszczący | 1.1.0 |
| myślnik | 2.18.1 |
| kolba | 3.0.3 |
| fastapi | 0.115.0 |
| uvicorn[standard] | 0.30.6 |
| gunicorn | 23.0.0 |
| Hugging Face Hub | 0.35.3 |
| dash-ag-grid | 31.2.0 |
| dash-mantine-komponenty | 0.14.4 |
| dash-bootstrap-components | 1.6.0 |
| kreślenie | 5.24.1 |
| plotly-resampler | 0.10.0 |
Definiowanie zależności języka Python za pomocą polecenia uv
Jeśli aplikacja używa uv funkcji do zarządzania zależnościami, zdefiniuj zależności języka Python w pyproject.toml pliku zamiast requirements.txt. Wstępnie zainstalowane biblioteki nie są dostępne dla aplikacji opartych na uv. Należy zadeklarować wszystkie zależności w elemencie pyproject.toml. Możesz również określić dowolną wersję języka Python przy użyciu requires-python pola, w przeciwieństwie do pipaplikacji opartych na języku Python 3.11.
Podczas wdrażania usługa Databricks Apps wybiera strategię instalacji na podstawie plików, które są obecne:
- Jeśli
requirements.txtistnieje, aplikacja używapipdo instalowania zależności, niezależnie od tego, czypyproject.tomlrównież istnieje.requirements.txtzawsze ma pierwszeństwo. - Jeśli
requirements.txtnie istnieje, a zarównopyproject.tomljak iuv.lockistnieją, aplikacja używauvdo instalowania zależności z pliku blokady.
Instalator uv tworzy własne środowisko wirtualne i zarządza nim, więc nie trzeba tworzyć .venv katalogu.
W poniższym przykładzie przedstawiono minimalną wartość pyproject.toml dla aplikacji usługi Databricks:
[project]
name = "my-app"
requires-python = ">=3.11"
dependencies = [
"dash==2.10.0",
"requests==2.31.0",
]
Aby użyć uv, należy dołączyć plik uv.lock razem z plikiem pyproject.toml. Wygeneruj go, uruchamiając uv lock lokalnie i dołączając go do katalogu aplikacji.
Definiowanie zależności Node.js
Aby zdefiniować biblioteki Node.js, dołącz package.json plik do katalogu głównego aplikacji. Podczas wdrażania usługa Azure Databricks wykrywa ten plik i uruchamia polecenie npm install w celu zainstalowania wszystkich zależności wymienionych w nim.
Na przykład package.json plik aplikacji React korzystającej z narzędzia Vite może wyglądać następująco:
{
"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"
}
}
Uwaga / Notatka
Wyświetl listę wszystkich pakietów wymaganych dla npm run build pod dependencies, a nie devDependencies. Jeśli ustawisz NODE_ENV=production w zmiennych środowiskowych, proces wdrażania pominie instalowanie devDependencies.
Unikanie konfliktów wersji
Podczas definiowania zależności należy pamiętać o następujących kwestiach:
- W przypadku
pipaplikacji opartych na systemie zastępowanie wstępnie zainstalowanych pakietów może powodować problemy ze zgodnością, jeśli określona wersja znacznie się różni od wstępnie zainstalowanej. - Zawsze testuj aplikację, aby upewnić się, że zmiany wersji pakietu nie powodują błędów.
- Przypinanie jawnych wersji w
requirements.txtpomaga utrzymać spójne działanie aplikacji we wszystkich wdrożeniach. - W przypadku korzystania z
uvdołącz plikuv.lockdo w pełni odtwarzalnych instalacji we wdrożeniach.
Instalacja zależności i zarządzanie nimi
Biblioteki zdefiniowane w requirements.txt, pyproject.toml, i package.json są instalowane bezpośrednio w kontenerze na dedykowanym środowisku obliczeniowym. Odpowiadasz za zarządzanie tymi zależnościami i ich aktualizowanie.
Biblioteki z wielu źródeł można określić w plikach zależności:
- Biblioteki pobrane z repozytoriów publicznych, takich jak PyPI i npm
- Prywatne repozytoria uwierzytelniające się przy użyciu poświadczeń przechowywanych w tajemnicach Azure Databricks
- Biblioteki przechowywane w
/Volumes/katalogu (na przykład/Volumes/<catalog>/<schema>/<volume>/<path>)
Instalowanie z repozytoriów prywatnych
Aby zainstalować pakiety z repozytorium prywatnego, skonfiguruj zmienne środowiskowe na potrzeby uwierzytelniania. Na przykład ustaw wartość PIP_INDEX_URL , aby wskazać repozytorium prywatne:
env:
- name: PIP_INDEX_URL
valueFrom: my-pypi-secret
Konfiguracja sieci obszaru roboczego musi zezwalać na dostęp do repozytorium prywatnego. Zobacz Konfigurowanie sieci dla aplikacji usługi Databricks.
Instalowanie plików wheel z woluminów Unity Catalog
Aby zainstalować pakiety języka Python z plików wheel przechowywanych w woluminach katalogu Unity Catalog:
- Dodaj wolumin katalogu Unity jako zasób w swojej aplikacji. Zobacz Unity Catalog wolumen.
- Odwołuj się bezpośrednio do ścieżki pliku pełnego koła w pliku
requirements.txt:
/Volumes/<catalog>/<schema>/<volume>/my_package-1.0.0-py3-none-any.whl
Uwaga / Notatka
Odwołania do zmiennych środowiskowych nie są obsługiwane w programie requirements.txt. Musisz zakodować ścieżkę pliku pełnego koła.
Aby zwiększyć bezpieczeństwo podczas uzyskiwania dostępu do zewnętrznych repozytoriów pakietów, należy użyć kontrolek ruchu wychodzącego bezserwerowego, aby ograniczyć dostęp do repozytoriów publicznych i skonfigurować sieć prywatną. Zobacz Konfigurowanie sieci dla aplikacji usługi Databricks.