安裝 mssql-python

mssql-python驅動程式是 Microsoft 官方的 Python 驅動程式,適用於 Microsoft Fabric SQL Server、Azure SQL Database、Azure SQL 受控執行個體 及 SQL 資料庫。 在 Windows、Linux 或 macOS 上使用 pip 安裝驅動程式。

先決條件

  • 驅動程式需要 Python 3.10 或更新版本,且不支援較早的 Python 版本。
  • pip 套件管理器(隨 Python 3.4+ 附帶)。

Important

mssql-python 驅動程式使用 DDBC (直接資料庫連接),該架構在內部整合並管理 ODBC 層。 你不需要另外安裝 Microsoft 的 SQL Server 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 作業系統

該驅動程式以預先建置的 wheel 套件形式提供,包含所有必要元件。

Linux

驅動程式需要特定的系統函式庫來進行 Kerberos 認證與動態載入。 使用你發行版的套件管理器安裝:

Ubuntu/Debian:

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

Red Hat/CentOS/Fedora:

sudo dnf install libtool-ltdl krb5-libs

Note

在 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