mssql-django パッケージは、Microsoft FabricのSQL Server、Azure SQL Database、Azure SQL Managed Instance、および SQL データベース用の公式のMicrosoftサポートされている Django データベース バックエンドです。 この記事では、パッケージとその依存関係をインストールする方法について説明します。
前提条件
- Python 3.10から3.14まで。 Django 6.0以降のバージョンでは少なくともPython 3.12が必要です。
- pip パッケージ マネージャー (Python 3.4 以降のバージョンに含まれています)
- デフォルトの
pyodbcドライバーを使用するデータベース エイリアス用のMicrosoft ODBC Driver 17 または 18 for SQL Server。 「ODBC Driver for SQL Server のダウンロード」を参照してください。
Important
mssql-django2.0は、すべてのデータベースエイリアスがpyodbcを使っていても、1.15.0以降のmssql-pythonが必要です。 このパッケージは、互換性のある mssql-python ディストリビューションを持つプラットフォームにのみインストールされます。 他のプラットフォームのプロジェクトはバージョン1.8.0のままです。 プラットフォーム一覧については、 mssql-djangoのサポートおよびライフサイクルをご覧ください。
PyPI からインストールする
pipを使ってパッケージをインストールしてください。 このコマンドはDjango、 pyodbc、 mssql-python、 tzdata も自動的にインストールします:
pip install mssql-django
既存のインストールをアップグレードするには:
pip install --upgrade mssql-django
特定のバージョンをインストールするには、以下を実行します。
pip install mssql-django==2.0.0
依存関係とバージョンの互換性
mssql-django 2.0では、パッケージのメタデータには以下の依存関係制約が含まれています:
| コンポーネント | バージョンに関するガイダンス |
|---|---|
| Python | 3.10から3.14まで |
| Django |
>=5.2 および <6.2 |
pyodbc |
>=3.0 |
mssql-python |
>=1.15.0 |
tzdata |
依存関係としてインストール済み |
Tip
テスト済みのロック ファイルがない限り、 pip 互換性のあるバージョンを解決します。 古い pyodbc バージョンをピン留めすると、インストールが成功した場合でもランタイムの問題が発生する可能性があります。
データベースドライバーを選ぶ
pyodbc はデフォルトのドライバーであり、設定は不要です。 代わりにデータベースエイリアスをmssql-pythonに実行するには、そのエイリアスのOPTIONS辞書に"python_driver": "mssql_python"を追加します。 エイリアスは同じプロジェクト内で異なるドライバーを使うことができます。 挙動の違いや各ドライバーが無視するオプションについては、「 mssql-djangoのデータベースドライバーを選択する」を参照してください。
インストールを確認する
インストール後、パッケージが正しくインストールされていることを確認します。
pip show mssql-django
予想される出力:
Name: mssql-django
Version: 2.0.0
Summary: Django backend for Microsoft SQL Server
デフォルトの pyodbc パスが使用するODBC層を確認してください:
import pyodbc
print(f"pyodbc version: {pyodbc.version}")
print(f"Available ODBC drivers: {pyodbc.drivers()}")
Note
mssql-django バックエンドは、Django のデータベース ルーティング システムで自動的に構成されます。 アプリケーション コードで直接インポートしないでください。 代わりに、ENGINE 構成で mssql を DATABASES に設定します。
仮想環境を使用する
Python仮想環境を使用して、プロジェクトの依存関係を分離します。
python -m venv .venv
仮想環境をアクティブ化します。
.venv\Scripts\activate
次に、仮想環境内に mssql-django をインストールします。
pip install mssql-django
プラットフォーム固有の注意事項
デフォルトの pyodbc ドライバーを使用するデータベースエイリアスは、別途インストールされたODBCドライバーが必要であり、インストール手順はOSによって異なります。
mssql-pythonを使う別名はこれらのステップは必要ありません。 代わりに、macOSのOpenSSLやLinuxの必要なライブラリを含む mssql-pythonのプラットフォーム前提条件をインストールしてください。
Windows
Microsoft ODBC Driver 18 for SQL Serverをインストールする場合は、「.msi SQL Server のダウンロード」の インストーラーを使用します。
リナックス
ディストリビューションのパッケージ マネージャーを使用して ODBC ドライバーをインストールします。 プラットフォーム固有の手順については、「SQL Server (Linux) 用Microsoft ODBC ドライバーをインストールする」を参照してください。
macOS
Homebrew を使用して ODBC ドライバーをインストールします。
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18
依存関係
mssql-django パッケージは、次の依存関係を自動的にインストールします。
| Package | Purpose |
|---|---|
Django |
Web フレームワーク |
pyodbc |
Python用のデフォルトODBCデータベースドライバー |
mssql-python |
無条件インストールのオプトイン型Pythonデータベースドライバー |
tzdata |
標準ライブラリ zoneinfo モジュール用のIANAタイムゾーンデータベース |
バックエンドは標準のライブラリzoneinfoモジュールを使ってタイムゾーン対応のdatetime値を変換します。
zoneinfoIANAタイムゾーンデータベースが存在する場合はOSのタイムゾーンデータベースを読み取り、それ以外はtzdataパッケージにフォールバックします。これはWindowsおよび最小限のコンテナイメージをカバーします。
pytz もはや依存ではありません。