安装 mssql-python

mssql-python驱动程序是 Microsoft 官方的 Python 驱动,适用于 SQL Server、Azure SQL 数据库、Azure SQL 托管实例 以及 Microsoft Fabric 中的 SQL 数据库。 在Windows、Linux或macOS上使用PIP安装驱动。

先决条件

  • 该驱动需要 Python 3.10 或更高版本,且不支持更早的 Python 版本。
  • pip 包管理器(随 Python 3.4+ 附带)。

Important

mssql-python驱动使用 DDBC (直接数据库连接),该程序在内部捆绑和管理ODBC层。 你无需单独安装用于 SQL Server 的 Microsoft ODBC 驱动程序。

从 PyPI 安装

使用PIP安装驱动:

pip install mssql-python

升级现有安装:

pip install --upgrade mssql-python

安装特定版本:

pip install mssql-python==1.11.0

验证安装

安装后,请确认驱动是否正常工作:

import mssql_python

print(f"mssql-python version: {mssql_python.__version__}")
print(f"DB-API level: {mssql_python.apilevel}")
print(f"Thread safety: {mssql_python.threadsafety}")
print(f"Parameter style: {mssql_python.paramstyle}")

预期输出:

mssql-python version: 1.11.0
DB-API level: 2.0
Thread safety: 1
Parameter style: pyformat

特定于平台的注释

Windows操作系统

司机以预装轮子的形式发货,包含所有必要部件。

Linux

该驱动程序需要某些系统库以实现 Kerberos 认证和动态加载。 使用你发行版的包管理器安装它们:

Ubuntu/Debian:

sudo apt-get update
sudo apt-get install libltdl7 libkrb5-3 libgssapi-krb5-2

红帽/CentOS/Fedora:

sudo dnf install libtool-ltdl krb5-libs

注释

在 RHEL 8 和其他兼容 glibc 2.28 的发行版(AlmaLinux 8、Rocky Linux 8)上,驱动程序可通过发布到 PyPI 上的标准 manylinux_2_28 wheel 包进行安装。

Alpine Linux:

apk add libltdl krb5-libs

macOS

该驱动以 universal2 通用二进制文件的形式提供,可在 Apple Silicon(arm64)和 Intel(x86_64)Mac 上原生运行。 你不需要单独安装 UnixODBC。

驱动需要OpenSSL。 通过使用Homebrew安装:

brew install openssl

如果遇到 SSL 相关错误,请确保 OpenSSL 已正确链接:

export LDFLAGS="-L/opt/homebrew/opt/openssl/lib"
export CPPFLAGS="-I/opt/homebrew/opt/openssl/include"

虚拟环境

为避免冲突,建议在虚拟环境中安装 Python 包:

# Create a virtual environment
python -m venv .venv

# Activate it (Windows)
.venv\Scripts\activate

# Activate it (Linux/macOS)
source .venv/bin/activate

# Install the driver
pip install mssql-python

开发环境安装

要安装包含开发依赖项的驱动程序以参与该驱动程序的开发:

git clone https://github.com/microsoft/mssql-python.git
cd mssql-python
pip install -e ".[dev]"

解决安装问题

PIP安装失败,显示“无匹配发行版”

确保你使用的是 Python 3.10 或更高版本:

python --version

如果你用的是较旧的 Python 版本,建议升级 Python 或用 pyenv 管理多个版本。

安装后导入错误

如果你看到ModuleNotFoundError: No module named 'mssql_python',请确认你使用的是安装包的同一个 Python 环境。

pip show mssql-python

Linux/macOS 上的权限错误

如果遇到权限错误,请避免使用 sudo pip。 而应使用虚拟环境或 --user 标志。

pip install --user mssql-python