Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Setiap aplikasi Databricks dapat menyertakan dependensi untuk Python, Node.js, atau keduanya. Anda menentukan dependensi ini dalam file khusus bahasa:
- Gunakan file
requirements.txtuntuk menentukan paket Python yang diinstal denganpip. Lihat Menentukan dependensi Python denganpip. - Gunakan sebuah file
pyproject.tomluntuk menentukan paket Python yang diinstal denganuv. Lihat Menentukan dependensi Python denganuv. - Gunakan file
package.jsonuntuk menentukan paket Node.js. Lihat Menentukan dependensi Node.js.
Tentukan dependensi Python dengan pip
Aplikasi yang menggunakan pip dilengkapi dengan sekumpulan pustaka Python yang telah diinstal sebelumnya. Untuk menentukan pustaka Python tambahan, gunakan requirements.txt file. Jika ada paket yang tercantum yang cocok dengan yang telah diinstal sebelumnya, versi dalam file Anda akan mengambil alih default.
Contohnya:
# 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
Pustaka Python yang telah diinstal sebelumnya
Pustaka Python berikut telah diinstal sebelumnya untuk aplikasi berbasis pip. Anda tidak perlu menyertakannya dalam requirements.txt kecuali Anda memerlukan versi yang berbeda.
| Perpustakaan | Versi |
|---|---|
| databricks-sql-connector | 3.4.0 |
| databricks-sdk | 0.33.0 |
| mlflow-skinny (versi ringan) | 2.16.2 |
| gradio | 4.44.0 |
| Streamlit | 1.38.0 |
| mengkilap | 1.1.0 |
| Dash | 2.18.1 |
| Labu | 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 |
| komponen dash-mantine | 0.14.4 |
| dash-bootstrap-components | 1.6.0 |
| plotly | 5.24.1 |
| plotly-resampler | 0.10.0 |
Tentukan dependensi Python dengan uv
Jika aplikasi Anda menggunakan uv untuk manajemen dependensi, tentukan dependensi Python dalam pyproject.toml file, bukan requirements.txt. Pustaka yang telah diinstal sebelumnya tidak tersedia untuk aplikasi berbasis uv. Anda harus mendeklarasikan semua ketergantungan dalam pyproject.toml. Anda juga dapat menentukan versi Python apa pun menggunakan requires-python bidang , tidak seperti pipaplikasi berbasis yang menggunakan Python 3.11.
Selama penyebaran, Databricks Apps memilih strategi penginstalan berdasarkan file mana yang ada:
- Jika
requirements.txtada, aplikasi ini menggunakanpipuntuk menginstal dependensi, terlepas dari apakahpyproject.tomljuga ada.requirements.txtselalu diutamakan. - Jika
requirements.txttidak ada dan baikpyproject.tomldanuv.lockada, aplikasi menggunakanuvuntuk menginstal dependensi dari file kunci.
Penginstal uv membuat dan mengelola lingkungan virtualnya sendiri, sehingga Anda tidak perlu membuat direktori .venv.
Contoh berikut menunjukkan minimal pyproject.toml untuk aplikasi Databricks:
[project]
name = "my-app"
requires-python = ">=3.11"
dependencies = [
"dash==2.10.0",
"requests==2.31.0",
]
Untuk menggunakan uv, Anda harus menyertakan file uv.lock bersama dengan file pyproject.toml. Hasilkan itu dengan menjalankan uv lock secara lokal dan sertakan di direktori aplikasi Anda.
Menentukan dependensi Node.js
Untuk menentukan pustaka Node.js, sertakan file package.json di root aplikasi Anda. Selama penyebaran, Azure Databricks mendeteksi file ini dan menjalankan npm install untuk menginstal semua dependensi yang tercantum di dalamnya.
Misalnya, package.json file untuk aplikasi React menggunakan Vite mungkin terlihat seperti ini:
{
"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
Cantumkan semua paket yang diperlukan untuk npm run build di bawah dependencies, bukan devDependencies. Jika Anda mengatur NODE_ENV=production dalam variabel lingkungan Anda, proses penyebaran melompati penginstalan devDependencies.
Hindari konflik versi
Ingatlah hal-hal berikut saat Anda menentukan dependensi:
- Untuk aplikasi berbasis
pip, mengganti paket yang sudah terpasang dapat menyebabkan masalah kompatibilitas jika versi yang Anda tentukan berbeda secara signifikan dari yang sudah terpasang. - Selalu uji aplikasi Anda untuk memastikan bahwa perubahan versi paket tidak menimbulkan kesalahan.
- Menyematkan versi eksplisit dalam
requirements.txtmembantu mempertahankan perilaku aplikasi yang konsisten di seluruh penyebaran. - Saat menggunakan
uv, sertakan berkasuv.lockuntuk instalasi yang sepenuhnya dapat direproduksi di setiap deployment.
Penginstalan dan manajemen dependensi
Pustaka yang ditentukan dalam requirements.txt, pyproject.toml, dan package.json diinstal langsung pada kontainer yang berjalan pada komputasi khusus Anda. Anda bertanggung jawab untuk mengelola dan menambal dependensi ini.
Anda dapat menentukan pustaka dari beberapa sumber dalam file dependensi Anda:
- Pustaka yang diunduh dari repositori publik seperti PyPI dan npm
- Repositori privat yang mengautentikasi menggunakan kredensial yang disimpan dalam rahasia Azure Databricks
- Pustaka yang disimpan di direktori Anda
/Volumes/(misalnya,/Volumes/<catalog>/<schema>/<volume>/<path>)
Menginstal dari repositori privat
Untuk menginstal paket dari repositori privat, konfigurasikan variabel lingkungan untuk autentikasi. Misalnya, atur PIP_INDEX_URL untuk menunjuk ke repositori privat Anda:
env:
- name: PIP_INDEX_URL
valueFrom: my-pypi-secret
Konfigurasi jaringan ruang kerja Anda harus mengizinkan akses ke repositori privat. Lihat Mengonfigurasi jaringan untuk Aplikasi Databricks.
Menginstal file roda dari volume Unity Catalog
Untuk menginstal paket Python dari berkas wheel yang disimpan dalam volume Unity Catalog:
- Tambahkan volume Katalog Unity sebagai sumber daya ke aplikasi Anda. Lihat Katalog Unity Volume.
- Referensikan jalur file roda lengkap langsung di :
requirements.txt
/Volumes/<catalog>/<schema>/<volume>/my_package-1.0.0-py3-none-any.whl
Nota
Referensi variabel lingkungan tidak didukung di requirements.txt. Anda harus melakukan hardcode pada jalur file roda penuh.
Untuk meningkatkan keamanan saat mengakses repositori paket eksternal, gunakan kontrol keluar tanpa server untuk membatasi akses ke repositori publik dan mengonfigurasi jaringan privat. Lihat Mengonfigurasi jaringan untuk Aplikasi Databricks.