安装 mssql-django

mssql-django 包是微软官方支持的 Django 数据库后端,适用于 SQL Server、Azure SQL 数据库、Azure SQL 托管实例 和 Microsoft Fabric 中的 SQL 数据库。 本文介绍如何安装包及其依赖项。

先决条件

  • Python 3.8 或更高版本。 Django 6.0 需要Python 3.12 及更高版本。
  • pip 包管理器(Python 3.4 及更高版本随附)
  • 适用于 SQL Server 的 Microsoft ODBC Driver 17 或 18。 请参阅下载适用于 SQL Server 的 ODBC 驱动程序

Important

mssql-python与驱动程序不同,mssql-django需要外部 ODBC 驱动程序。 在配置 Django 项目之前,请安装 Microsoft ODBC Driver for SQL Server。

从 PyPI 安装

使用 pip 安装包。 此命令还会自动安装 Django、pyodbc 和 pytz:

pip install mssql-django

升级现有安装:

pip install --upgrade mssql-django

安装特定版本:

pip install mssql-django==1.7.4

依赖项和版本兼容性

在1.7.4版本 mssql-django 中,包元数据包含以下依赖约束:

组件 版本指南
Python 3.8 或更高版本
Django >=3.2<6.1
pyodbc >=3.0
pytz 作为依赖项安装

Tip

pip 解析兼容版本,除非你有经过测试的锁定文件。 固定旧 pyodbc 版本可能会导致运行时问题,即使安装成功也是如此。

验证安装

安装后,请验证包是否已正确安装:

pip show mssql-django

预期输出:

Name: mssql-django
Version: 1.7.4
Summary: Django backend for Microsoft SQL Server

从 Python 中通过测试 ODBC 层来验证安装情况:

import pyodbc

print(f"pyodbc version: {pyodbc.version}")
print(f"Available ODBC drivers: {pyodbc.drivers()}")

注释

mssql-django 后端会在 Django 的数据库路由系统中被自动配置。 不要直接在应用程序代码中导入它。 而应在ENGINE配置中将mssql设置为DATABASES

使用虚拟环境

使用Python虚拟环境隔离项目依赖项:

python -m venv .venv

激活虚拟环境:

.venv\Scripts\activate

然后在虚拟环境中安装 mssql-django

pip install mssql-django

特定于平台的注释

ODBC 驱动程序安装步骤因操作系统而异。

Windows操作系统

使用来自 .msi 安装程序安装 Microsoft ODBC Driver 18 for SQL Server。

Linux

使用分发的包管理器安装 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 数据库驱动程序
pytz 时区支持

后端在内部导入 pytz,以便针对 SQL Server 转换带时区信息的 datetime 值,因此即使你的 Django 项目使用带有标准库 zoneinfo 模块的 USE_TZ=Truepytz 仍然是必需的运行时依赖。