Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cada aplicación de Databricks puede incluir dependencias para Python, Node.jso ambas. Estas dependencias se definen en archivos específicos del lenguaje:
- Use un
requirements.txtarchivo para especificar los paquetes de Python instalados conpip. Consulte Definición de dependencias de Python conpip. - Use un
pyproject.tomlarchivo para especificar los paquetes de Python instalados conuv. Consulte Definición de dependencias de Python conuv. - Usa un archivo
package.jsonpara especificar paquetesNode.js. Consulte Definición de dependencias de Node.js.
Definición de dependencias de Python con pip
Las aplicaciones que usan pip incluyen un conjunto de bibliotecas de Python preinstaladas. Para definir bibliotecas adicionales de Python, use un requirements.txt archivo . Si alguno de los paquetes enumerados coincide con los instalados previamente, las versiones del archivo invalidan los valores predeterminados.
Por ejemplo:
# 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
Bibliotecas de Python preinstaladas
Las siguientes bibliotecas de Python están preinstaladas para pipaplicaciones basadas en . No es necesario incluirlos en requirements.txt a menos que necesite una versión diferente.
| Biblioteca | Versión |
|---|---|
| databricks-sql-connector | 3.4.0 |
| databricks-sdk (kit de desarrollo de software de Databricks) | 0.33.0 |
| mlflow-skinny | 2.16.2 |
| gradio | 4.44.0 |
| streamlit | 1.38.0 |
| brillante | 1.1.0 |
| guión | 2.18.1 |
| flask | 3.0.3 |
| fastapi | 0.115.0 |
| uvicorn[standard] | 0.30.6 |
| gunicorn | 23.0.0 |
| plataforma 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 |
| plotly-resampler | 0.10.0 |
Definición de dependencias de Python con uv
Si la aplicación usa uv para la administración de dependencias, defina las dependencias de Python en un pyproject.toml archivo en lugar de requirements.txt. Las bibliotecas preinstaladas no están disponibles para aplicaciones basadas en uv. Debe declarar todas las dependencias en pyproject.toml. También puede especificar cualquier versión de Python mediante el requires-python campo, a diferencia pipde las aplicaciones basadas en python 3.11.
Durante la implementación, Databricks Apps selecciona una estrategia de instalación en función de los archivos que están presentes:
- Si
requirements.txtexiste, la aplicación usapippara instalar dependencias, independientemente de sipyproject.tomltambién está presente.requirements.txtsiempre tiene prioridad. - Si
requirements.txtno existe y ambospyproject.tomlyuv.lockexisten, la aplicación usauvpara instalar dependencias desde el archivo de bloqueo.
El uv instalador crea y administra su propio entorno virtual, por lo que no es necesario crear un .venv directorio.
En el ejemplo siguiente se muestra un mínimo pyproject.toml para una aplicación de Databricks:
[project]
name = "my-app"
requires-python = ">=3.11"
dependencies = [
"dash==2.10.0",
"requests==2.31.0",
]
Para usar uv, debe incluir un uv.lock archivo junto con pyproject.toml. Genéralo ejecutándolo localmente e inclúyelo en el directorio de tu aplicación.
Definición de dependencias de Node.js
Para definir bibliotecas Node.js, incluye un archivo package.json en la raíz de tu aplicación. Durante la implementación, Azure Databricks detecta este archivo y se ejecuta npm install para instalar todas las dependencias enumeradas en él.
Por ejemplo, un package.json archivo para una aplicación react con Vite podría tener este aspecto:
{
"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"
}
}
Nota:
Enumere todos los paquetes necesarios para npm run build en dependencies, no devDependencies. Si establece NODE_ENV=production en las variables de entorno, el proceso de implementación omite la instalación de devDependencies.
Evitar conflictos de versiones
Tenga en cuenta lo siguiente al definir dependencias:
- Para aplicaciones basadas en
pip, sobrescribir paquetes preinstalados puede causar problemas de compatibilidad si la versión especificada difiere significativamente de la versión preinstalada. - Pruebe siempre la aplicación para asegurarse de que los cambios en la versión del paquete no introducen errores.
- Anclar versiones explícitas en
requirements.txtayuda a mantener un comportamiento coherente de la aplicación en todas las implementaciones. - Al usar
uv, incluya unuv.lockarchivo para instalaciones totalmente reproducibles en todas las implementaciones.
Instalación y administración de dependencias
Las bibliotecas definidas en requirements.txt, pyproject.tomly package.json se instalan directamente en el contenedor que se ejecuta en el proceso dedicado. Usted es responsable de gestionar y aplicar parches a estas dependencias.
Puede especificar bibliotecas de varios orígenes en los archivos de dependencia:
- Bibliotecas descargadas de repositorios públicos como PyPI y npm
- Repositorios privados que se autentican mediante credenciales almacenadas en secretos de Azure Databricks
- Bibliotecas almacenadas en el
/Volumes/directorio (por ejemplo,/Volumes/<catalog>/<schema>/<volume>/<path>)
Instalación desde repositorios privados
Para instalar paquetes desde un repositorio privado, configure variables de entorno para la autenticación. Por ejemplo, establezca PIP_INDEX_URL para que apunte al repositorio privado:
env:
- name: PIP_INDEX_URL
valueFrom: my-pypi-secret
La configuración de red del área de trabajo debe permitir el acceso al repositorio privado. Consulte Configuración de redes para Aplicaciones de Databricks.
Instalación de archivos wheel desde los volúmenes del Catálogo de Unity
Para instalar paquetes de Python desde archivos Wheel almacenados en volúmenes del Catálogo de Unity:
- Agregue el volumen del catálogo de Unity como un recurso a la aplicación. Consulte Volumen del catálogo de Unity.
- Haga referencia directamente a la ruta completa del archivo wheel en
requirements.txt:
/Volumes/<catalog>/<schema>/<volume>/my_package-1.0.0-py3-none-any.whl
Nota:
Las referencias a variables de entorno no se admiten en requirements.txt. Debe codificar la ruta de acceso completa del archivo de rueda.
Para mejorar la seguridad al acceder a repositorios de paquetes externos, use controles de salida sin servidor para restringir el acceso a repositorios públicos y configurar redes privadas. Consulte Configuración de redes para Aplicaciones de Databricks.