mssql-django をインストールする

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 もはや依存ではありません。