Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Her Databricks uygulaması Python, Node.jsveya her ikisi için bağımlılıklar içerebilir. Bu bağımlılıkları dile özgü dosyalarda tanımlarsınız:
- ile yüklenen Python paketlerini belirtmek için bir
requirements.txtdosya kullanın.pipBkz. ilepipPython bağımlılıklarını tanımlama. - ile yüklenen Python paketlerini belirtmek için bir
pyproject.tomldosya kullanın.uvBkz. ileuvPython bağımlılıklarını tanımlama. -
package.jsonpaketleri belirtmek için bir dosya kullanın. Bkz . Node.js bağımlılıkları tanımlama.
ile Python bağımlılıklarını tanımlama pip
Kullanan pip uygulamalar , önceden yüklenmiş bir dizi Python kitaplığıyla birlikte gelir. Ek Python kitaplıkları tanımlamak için bir requirements.txt dosya kullanın. Listelenen paketler önceden yüklenmiş paketlerle eşleşiyorsa, dosyanızdaki sürümler varsayılan değerleri geçersiz kılar.
Örneğin:
# 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
Önceden yüklenmiş Python kitaplıkları
Aşağıdaki Python kitaplıkları, pip tabanlı uygulamalar için önceden yüklenir. Farklı bir sürüme ihtiyaç duymadığınız sürece bunları kendi sürümünüze requirements.txt eklemeniz gerekmez.
| Kütüphane | Sürüm |
|---|---|
| databricks-sql-connector (Databricks SQL Bağlayıcısı) | 3.4.0 |
| databricks yazılım geliştirme kiti (SDK) | 0.33.0 |
| mlflow-skinny | 2.16.2 |
| gradio | 4.44.0 |
| Streamlit | 1.38.0 |
| ışıltılı | 1.1.0 |
| çizgi | 2.18.1 |
| Şişe | 3.0.3 |
| fastapi | 0.115.0 |
| uvicorn[standard] | 0.30.6 |
| gunicorn | 23.0.0 |
| huggingface-hub (Hugging Face merkezi) | 0.35.3 |
| dash-ag-grid | 31.2.0 |
| dash-mantine-bileşenleri | 0.14.4 |
| Dash Bootstrap Bileşenleri | 1.6.0 |
| Plotly yazılımı | 5.24.1 |
| plotly-resampler | 0.10.0 |
ile Python bağımlılıklarını tanımlama uv
Uygulamanız bağımlılık yönetimi için kullanıyorsa uv , yerine bir pyproject.toml dosyada requirements.txtPython bağımlılıklarını tanımlayın.
uv tabanlı uygulamalarda önceden yüklenmiş kitaplıklar kullanılamaz.
pyproject.toml içindeki tüm bağımlılıkları bildirmeniz gerekir. Python 3.11 kullanan tabanlı uygulamalardan requires-python farklı olarak pipalanını kullanarak herhangi bir Python sürümünü de belirtebilirsiniz.
Dağıtım sırasında Databricks Apps, hangi dosyaların mevcut olduğunu temel alan bir yükleme stratejisi seçer:
- Varsa
requirements.txt, uygulama bağımlılıkları yüklemek için kullanırpip( aynı zamanda mevcut olup olmadığınapyproject.tomlbakılmaksızın).requirements.txther zaman önceliklidir. - Eğer
requirements.txtmevcut değilse ve hempyproject.tomlhem deuv.lockmevcutsa, uygulama bağımlılıkları kilit dosyasından yüklemek içinuvkullanır.
Yükleyici uv kendi sanal ortamını oluşturur ve yönetir, bu nedenle dizin .venv oluşturmanız gerekmez.
Aşağıdaki örnekte Databricks uygulaması için minimum pyproject.toml değer gösterilmektedir:
[project]
name = "my-app"
requires-python = ">=3.11"
dependencies = [
"dash==2.10.0",
"requests==2.31.0",
]
uv'yi kullanmak için, uv.lock dosyasının yanına bir pyproject.toml dosyası eklemeniz gerekir. Yerel olarak çalıştırarak uv lock oluşturun ve uygulama dizininize ekleyin.
Node.js bağımlılıkları tanımlama
Node.js kitaplıkları tanımlamak için uygulamanızın köküne bir package.json dosya ekleyin. Dağıtım sırasında Azure Databricks bu dosyayı algılar ve içinde listelenen tüm bağımlılıkları yüklemek için çalışır npm install .
Örneğin, Vite kullanan react uygulamasına yönelik bir package.json dosya aşağıdaki gibi görünebilir:
{
"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"
}
}
Uyarı
npm run build için dependencies altında gereken tüm paketleri listeleyin, devDependencies değil. Ortam değişkenlerinizde ayarlarsanız NODE_ENV=production , dağıtım işlemi yükleme devDependenciesişlemini atlar.
Sürüm çakışmalarını önleme
Bağımlılıkları tanımlarken aşağıdakileri göz önünde bulundurun:
- Tabanlı uygulamalar için,
pipönceden yüklenmiş bir paketi geçersiz kılmak, belirttiğiniz sürüm önceden yüklenenden ciddi farklılıklar gösteriyorsa uyumluluk sorunlarına neden olabilir. - Paket sürümü değişikliklerinin hatalara neden olmadığından emin olmak için uygulamanızı her zaman test edin.
-
requirements.txtiçindeki açık sürümleri sabitlemek, dağıtımlar arasında uygulama davranışının tutarlılığını korumaya yardımcı olur. -
uvkullanırken, dağıtımlar arasında tamamen yeniden üretilebilir kurulumlar sağlamak için biruv.lockdosyası ekleyin.
Bağımlılık yükleme ve yönetimi
, requirements.txtve pyproject.toml içinde package.jsontanımlanan kitaplıklar doğrudan ayrılmış işlem üzerinde çalışan kapsayıcıya yüklenir. Bu bağımlılıkları yönetmek ve düzeltme eki uygulamaktan siz sorumlusunuz.
Bağımlılık dosyalarınızda birden çok kaynaktan kitaplık belirtebilirsiniz:
- PyPI ve npm gibi genel depolardan indirilen kitaplıklar
- Azure Databricks gizli dizilerinde depolanan kimlik bilgilerini kullanarak kimlik doğrulaması sağlayan özel depolar
- Dizininizde
/Volumes/depolanan kitaplıklar (örneğin,/Volumes/<catalog>/<schema>/<volume>/<path>)
Özel depolardan yükleme
Paketleri özel bir depodan yüklemek için ortam değişkenlerini kimlik doğrulaması için yapılandırın. Örneğin, PIP_INDEX_URL özel deponuza işaret edecek şekilde ayarlayın.
env:
- name: PIP_INDEX_URL
valueFrom: my-pypi-secret
Çalışma alanı ağ yapılandırmanız özel depoya erişime izin vermelidir. Bkz . Databricks Uygulamaları için ağı yapılandırma.
Unity Kataloğu birimlerinden tekerlek dosyalarını yükleme
Unity Kataloğu birimlerinde depolanan tekerlek dosyalarından Python paketlerini yüklemek için:
- Unity Kataloğu birimini uygulamanıza kaynak olarak ekleyin. Bkz Unity Kataloğu Birimi.
- Doğrudan içinde
requirements.txttam tekerlek dosyası yoluna başvurun:
/Volumes/<catalog>/<schema>/<volume>/my_package-1.0.0-py3-none-any.whl
Uyarı
Ortam değişkeni başvuruları içinde requirements.txtdesteklenmez. Tam tekerlek dosya yolunu sabit kodlamanız gerekir.
Dış paket depolarına erişirken güvenliği artırmak için, genel depolara erişimi kısıtlamak ve özel ağ yapılandırmak için sunucusuz çıkış denetimlerini kullanın. Bkz . Databricks Uygulamaları için ağı yapılandırma.