Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Каждое приложение Databricks может включать зависимости для Python, Node.jsили обоих. Эти зависимости определяются в файлах, относящихся к языку:
-
requirements.txtИспользуйте файл, чтобы указать пакеты Python, установленные посредствомpip. См. раздел "Определение зависимостей Python с помощьюpip". -
pyproject.tomlИспользуйте файл, чтобы указать пакеты Python, установленные с помощьюuv. См. раздел "Определение зависимостей Python с помощьюuv". - Используйте файл
package.jsonдля указания пакетов Node.js. См. раздел "Определение Node.js зависимостей".
Определение зависимостей Python с помощью pip
Приложения, которые используют pip, поставляются с набором предварительно установленных библиотек Python. Чтобы определить дополнительные библиотеки Python, используйте requirements.txt файл. Если какие-либо из перечисленных пакетов соответствуют предварительно установленным, то версии в вашем файле переопределят значения по умолчанию.
Рассмотрим пример.
# 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
Предварительно установленные библиотеки Python
Следующие библиотеки Python предварительно установлены для приложений, основанных на pip. Вам не нужно включать их в requirements.txt, если вам не требуется другая версия.
| Библиотека | Версия |
|---|---|
| databricks-sql-connector (коннектор SQL для платформы Databricks) | 3.4.0 |
| databricks-sdk | 0.33.0 |
| mlflow-skinny | 2.16.2 |
| gradio | 4.44.0 |
| streamlit | 1.38.0 |
| блестящий | 1.1.0 |
| тире | 2.18.1 |
| колба | 3.0.3 |
| fastapi | 0.115.0 |
| uvicorn[standard] | 0.30.6 |
| гуникорн | 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 |
| график-resampler | 0.10.0 |
Определение зависимостей Python с помощью uv
Если ваше приложение использует uv для управления зависимостями, задайте зависимости Python в файле pyproject.toml, вместо requirements.txt. Предварительно установленные библиотеки недоступны для приложений на основе uv. Необходимо указать все зависимости в вашем pyproject.toml. Вы также можете указать любую версию Python с помощью поля requires-python, в отличие от приложений, основанных на pip, которые используют Python 3.11.
Во время развертывания Databricks Apps выбирает стратегию установки в зависимости от того, какие файлы присутствуют:
- Если
requirements.txtсуществует, приложение используетpipдля установки зависимостей, независимо от наличияpyproject.toml.requirements.txtвсегда имеет приоритет. - Если
requirements.txtне существует, аpyproject.tomlиuv.lockсуществуют, приложение используетuvдля установки зависимостей из файла блокировки.
Установщик uv создает и управляет собственной виртуальной .venv средой, поэтому вам не нужно создавать каталог.
В следующем примере показано минимальное значение pyproject.toml для приложения Databricks:
[project]
name = "my-app"
requires-python = ">=3.11"
dependencies = [
"dash==2.10.0",
"requests==2.31.0",
]
Чтобы использовать uv, необходимо включить файл uv.lock в комплект с вашим pyproject.toml. Создайте его, запустив uv lock локально и включив его в каталог приложения.
Определение зависимостей Node.js
Чтобы определить библиотеки Node.js, добавьте package.json файл в корневой каталог приложения. Во время развертывания Azure Databricks обнаруживает этот файл и выполняет npm install для установки всех зависимостей, перечисленных в нем.
Например, package.json файл для приложения React с помощью Vite может выглядеть следующим образом:
{
"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"
}
}
Замечание
Перечислите все пакеты, необходимые для npm run build под dependencies, а не devDependencies. Если вы установите NODE_ENV=production в переменных среды, процесс развертывания пропустит установку devDependencies.
Избегайте конфликтов версий
Помните следующее при определении зависимостей:
- Для приложений на основе
pip, переопределение предварительно установленных пакетов может привести к проблемам совместимости, если указанная версия значительно отличается от предварительно установленной. - Всегда тестируйте приложение, чтобы убедиться, что изменения версии пакета не содержат ошибок.
- Фиксирование явных версий в
requirements.txtпомогает обеспечивать согласованное поведение приложений во всех развертываниях. - При использовании
uvнеобходимо добавить файлuv.lock, чтобы обеспечить полностью воспроизводимые установки в различных контекстах развертывания.
Установка зависимостей и управление ими
Библиотеки, определенные в requirements.txt, pyproject.tomlи package.json устанавливаются непосредственно в контейнере, работающем на выделенных вычислительных ресурсах. Вы несете ответственность за управление и исправление этих зависимостей.
Библиотеки можно указать из нескольких источников в файлах зависимостей:
- Библиотеки, скачанные из общедоступных репозиториев, таких как PyPI и npm
- Частные репозитории, аутентифицирующиеся с использованием учетных данных, хранящихся в секретах Azure Databricks
- Библиотеки, хранящиеся в каталоге
/Volumes/(например,/Volumes/<catalog>/<schema>/<volume>/<path>)
Установка из частных репозиториев
Чтобы установить пакеты из частного репозитория, настройте переменные среды для проверки подлинности. Например, задайте PIP_INDEX_URL для указания на частный репозиторий:
env:
- name: PIP_INDEX_URL
valueFrom: my-pypi-secret
Конфигурация сети рабочей области должна разрешить доступ к частному репозиторию. См . статью "Настройка сети для приложений Databricks".
Установка файлов колес из томов каталога Unity
Чтобы установить пакеты Python из wheel-файлов, хранящихся в репозиториях каталога Unity, выполните следующие действия.
- Добавьте том каталога Unity в качестве ресурса в приложение. См . том каталога Unity.
- Ссылка на полный путь к файлу колесика непосредственно в вашей
requirements.txt:
/Volumes/<catalog>/<schema>/<volume>/my_package-1.0.0-py3-none-any.whl
Замечание
Ссылки на переменные среды не поддерживаются в requirements.txt. Необходимо жестко закодировать полный путь к файлу колесика.
Чтобы повысить безопасность при доступе к внешним репозиториям пакетов, используйте бессерверные элементы управления исходящего трафика, чтобы ограничить доступ к общедоступным репозиториям и настроить частные сети. См . статью "Настройка сети для приложений Databricks".