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 。