メインコンテンツまでスキップ

Databricks アプリの依存関係を管理する

各 Databricks アプリには、Python、Node.js、またはその両方の依存関係を含めることができます。これらの依存関係は、言語固有のファイルで定義します。

  • requirements.txt ファイルを使用して、追加の Python パッケージを指定します。
  • package.json ファイルを使用して、 Node.js パッケージを指定します。

各アプリには、 Python ライブラリのセットもプリインストールされています。 「プリインストールされたPython ライブラリ」を参照してください。

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

バージョンの競合を回避

依存関係を定義する際には、以下の点に注意してください。

  • プリインストールされたパッケージを上書きすると、指定したバージョンがプリインストールされたバージョンと大幅に異なる場合、互換性の問題が発生する可能性があります。
  • 常にアプリをテストして、パッケージ バージョンの変更によってエラーが発生しないことを確認します。
  • requirements.txt で明示的なバージョンをピン留めすると、デプロイ間で一貫したアプリの動作を維持できます。

Node.js依存関係を定義する

ライブラリを定義するには Node.js アプリのルートに package.json ファイルを含めます。 デプロイ中に、Databricks はこのファイルを検出し、 npm install を実行して、そのファイルにリストされているすべての依存関係をインストールします。

たとえば、Vite を使用する React アプリの package.json ファイルは次のようになります。

JSON
{
"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"
}
}
注記

devDependenciesではなく、dependencies未満のnpm run buildに必要なすべてのパッケージをリストします。環境変数で NODE_ENV=production を設定すると、デプロイメント・プロセスは devDependenciesのインストールをスキップします。