Installieren von mssql-python

Der Treiber mssql-python ist Microsoft offizieller Python-Treiber für SQL Server, Azure SQL-Datenbank, Azure SQL Managed Instance und SQL Database in Microsoft Fabric. Installiere den Treiber unter Windows, Linux oder macOS mit pip oder conda.

Voraussetzungen

  • Der Treiber benötigt Python 3.10 oder neuer und unterstützt keine früheren Python-Versionen.
  • Zur Installation mit pip, dem pip-Paketmanager, der in Python enthalten ist.
  • Verwenden Sie zum Installieren den Paketmanager conda.

Important

Der mssql-python-Treiber verwendet DDBC (Direct Database Connectivity), das die ODBC-Schicht intern bündelt und verwaltet. Du musst den Microsoft ODBC-Treiber für SQL Server nicht separat installieren.

Installieren über PyPI

Installieren Sie den Treiber mit Pip:

pip install mssql-python

So aktualisieren Sie eine vorhandene Installation:

pip install --upgrade mssql-python

So installieren Sie eine bestimmte Version

pip install mssql-python==1.16.0

Der Befehl pip install mssql-python installiert außerdem zwei Begleitpakete, die der Treiber zur Laufzeit benötigt:

  • mssql-python-odbcliefert die Microsoft ODBC Driver 18 Binärdateien aus.
  • mssql-python-rs enthält die Rust-Laufzeit, die die Massenkopie und den optional aktivierbaren mssql-odbc-Provider antreibt.

Ab Version 1.16.0 legt mssql-python die exakten Versionen beider Pakete fest. Frühere Versionen erfordern mssql-python-rs nicht. Zu den Anheftungen nach Version siehe Anforderungen an Abhängigkeiten.

Mit conda installieren

Der Treiber ist auch auf dem microsoftKanal auf Anaconda.org verfügbar:

conda install -c microsoft mssql-python

Das Conda-Paket ist ein eigenständiges Paket. Es enthält die Python-Bindings, die ODBC-Treiberbinaries und die Rust-Laufzeit, sodass Conda ein Paket statt drei installiert. Beim Ausführen von pip list in der Umgebung werden mssql-python-rs und mssql-python-odbc weiterhin angezeigt, weil das Conda-Paket deren Paketmetadaten enthält. Conda wählt den Build aus, der zu deiner Plattform und zur Python-Version passt, und verwaltet Upgrades:

conda update -c microsoft mssql-python

Installiere den Treiber entweder mit Conda oder Pip in einer bestimmten Umgebung, nicht mit beiden.

Das Conda-Paket hat folgende Plattformanforderungen:

Platform Python-Versionen Requirement
Windows x64 3.10 bis 3.15 Keine.
Windows ARM64 3.12 bis 3.15 Keine.
Linux x64, Linux ARM64 3.10 bis 3.15 Glibc 2.34 und spätere Versionen. Verwenden Sie pip auf Red Hat Enterprise Linux (RHEL) 8, Alpine Linux und anderen Distributionen mit einem älteren glibc oder mit musl.
macOS Intel, macOS Apple Silicon 3.10 bis 3.15 macOS 15 und neuere Versionen. Verschlüsselte Verbindungen erfordern eine Installation von OpenSSL auf dem System, wie unter macOS beschrieben. Der Treiber lädt OpenSSL nicht aus der Conda-Umgebung.

Überprüfen der Installation

Nach der Installation überprüfen Sie, ob der Treiber funktioniert:

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}")

Erwartete Ausgabe:

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

Plattformspezifische Hinweise

Windows

Der Treiber wird als vorkompiliertes Wheel bereitgestellt, das alle notwendigen Komponenten enthält.

Linux

Der Treiber benötigt bestimmte Systembibliotheken für Kerberos-Authentifizierung und dynamisches Laden. Installiere sie mit dem Paketmanager deiner Distribution:

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

Unter RHEL 8 und anderen mit glibc 2.28 kompatiblen Distributionen (AlmaLinux 8, Rocky Linux 8) wird der Treiber aus dem auf PyPI veröffentlichten standardmäßigen manylinux_2_28-Wheel installiert.

Alpine Linux:

apk add libltdl krb5-libs libstdc++

macOS

Der Treiber wird als universal2 dicker Binärcode ausgeliefert, der sowohl auf Apple Silicon (arm64) als auch auf Intel (x86_64) Macs nativ läuft. Du brauchst keine separate unixODBC-Installation.

Der Treiber benötigt OpenSSL. Installieren Sie es mit Homebrew:

brew install openssl

Wenn Sie auf SSL-bezogene Fehler stoßen, stellen Sie sicher, dass OpenSSL korrekt verknüpft ist:

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

Virtuelle Umgebungen

Um Konflikte zu vermeiden, installieren Sie Python-Pakete in einer virtuellen Umgebung:

# 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

Entwicklungsinstallation

So installieren Sie den Treiber mit den Entwicklungsabhängigkeiten, um an der Weiterentwicklung des Treibers mitzuwirken:

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

Beheben von Installationsproblemen

`pip install` schlägt mit „keine passende Distribution“ fehl

Stellen Sie sicher, dass Sie Python 3.10 oder neuere verwenden:

python --version

Wenn du eine ältere Python-Version verwendest, upgrade Python oder nutze pyenv, um mehrere Versionen zu verwalten.

Importfehler nach der Installation

Wenn du siehstModuleNotFoundError: No module named 'mssql_python', überprüfe, dass du dieselbe Python-Umgebung verwendest, in der du das Paket installiert hast.

pip show mssql-python

Berechtigungsfehler auf Linux/macOS

Wenn Sie auf Berechtigungsfehler stoßen, vermeiden Sie die Verwendung von sudo pip. Verwenden Sie stattdessen eine virtuelle Umgebung oder die Flagge --user .

pip install --user mssql-python