安装 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.3

依赖项和版本兼容性

对于 mssql-django 1.7.3,包元数据包括以下依赖项约束:

组件 版本指南
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.3
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 的数据库路由系统中被自动配置。 不要直接在应用程序代码中导入它。 而应在DATABASES配置中将ENGINE设置为mssql

使用虚拟环境

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

python -m venv .venv

激活虚拟环境:

.venv\Scripts\activate

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

pip install mssql-django

特定于平台的注释

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

Windows操作系统

使用来自 下载适用于 SQL Server 的 ODBC 驱动程序.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 保持包依赖项,以便兼容,但大多数新式 Django 时区工作流与 Django 的内置时区处理一起使用 USE_TZ=True