Az mssql-python telepítése

A mssql-python illesztőprogram a Microsoft hivatalos Python-illesztőprogramja az SQL Serverhez, az Azure SQL Database-hez, az Azure SQL Managed Instance-hez és a Microsoft Fabricben található SQL-adatbázishoz. Telepítsd a drivert Windows-ra, Linuxra vagy macOS-re pip vagy conda segítségével.

Prerequisites

  • A meghajtóhoz Python 3.10 vagy újabb verziót igényel, és nem támogatja a korábbi Python verziókat.
  • A telepítéshez használja a Python részét képező pip csomagkezelőt.
  • A telepítéshez használd a conda csomagkezelőt.

Important

Az mssql-python illezőprogram a DDBC-t (Direct Database Connectivity) használja, amely belső csomagolja és kezeli az ODBC réteget. Nem kell külön telepítened a Microsoft ODBC Driver for SQL Server-t.

Telepítés a PyPI-ból

Telepítsd az illesztőprogramot a pip használatával:

pip install mssql-python

Meglévő telepítés frissítése:

pip install --upgrade mssql-python

Egy adott verzió telepítése:

pip install mssql-python==1.16.0

A pip install mssql-python parancs két kísérő csomagot is telepít, amelyekre a drivernek futás közben szüksége van:

  • mssql-python-odbcA Microsoft ODBC Driver 18 binárisokat is szállítja.
  • mssql-python-rs A Rust runtime-t szállítja, amely működteti a tömeges másolást és az opt-in mssql-odbc szolgáltatót.

A 1.16.0-s verziótól kezdve mssql-python mindkét csomag pontos verzióit rögzíti. A korábbi verziókban nincs szükség mssql-python-rs. A verziónkénti pinekhez lásd: Dependency requirements.

Telepítés Condából

Az illesztőprogram az Anaconda.org microsoft csatornáján is elérhető:

conda install -c microsoft mssql-python

A conda csomag önálló csomag. Tartalmazza a Python kötéseket, az ODBC driver binary-kat és a Rust futásidőt, így a conda három helyett egy csomagot telepít. pip list futtatása a környezetben továbbra is mutatja a következőket: mssql-python-odbc és mssql-python-rs, mert a conda csomag tartalmazza a csomag metaadatait. A Conda kiválasztja azt a buildet, amely megfelel a platformodnak és a Python verziónak, és kezeli a frissítéseket:

conda update -c microsoft mssql-python

Telepítsd a drivert conda-val vagy pip-tel egy adott környezetben, ne mindkettővel.

A conda csomag az alábbi platformkövetelményeket tartalmazza:

Platform Python-verziók Requirement
Windows x64 3.10-től 3.15-ig None.
WINDOWS ARM64 3.12-től 3.15-ig None.
Linux x64, Linux ARM64 3.10-től 3.15-ig Glibc 2.34 és újabb verziók. Használd a pip-et Red Hat Enterprise Linux (RHEL) 8-on, Alpine Linuxon és más régebbi glibc-vel vagy musl-nal rendelkező disztribúciókon.
macOS Intel, macOS Apple Silicon 3.10-től 3.15-ig macOS 15 és újabb verziók. Titkosított kapcsolatokhoz OpenSSL telepítésre van szükség a rendszeren, a macOS-ban leírtak szerint. Az illesztőprogram nem tölti be az OpenSSL-t a conda környezetéből.

A telepítés ellenőrzése

Telepítés után ellenőrizd, hogy a meghajtó működik-e:

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

Várt kimenet:

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

Platformspecifikus megjegyzések

Windows

A vezető előre összeszerelt kerékként szállítható, amely minden szükséges alkatrészt tartalmaz.

Linux

Az illesztőprogramhoz bizonyos rendszerkönyvtárak szükségesek a Kerberos hitelesítéshez és a dinamikus betöltéshez. Telepítsd őket a disztribúciód csomagkezelőjével:

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

Megjegyzés:

Az RHEL 8-on és más glibc 2.28-kompatibilis disztribúciókon (AlmaLinux 8, Rocky Linux 8) a meghajtó a PyPI-n közzétett standard manylinux_2_28 kerékről telepíthető.

Alpine Linux:

apk add libltdl krb5-libs libstdc++

macOS

A meghajtó egy universal2 vastag binárisként érkezik, amely natívan fut mind Apple Silicon (arm64), mind Intel (x86_64) Mac-en. Nem kell külön UnixODBC telepítés.

A meghajtó OpenSSL-t igényel. Telepítsd Homebrew segítségével:

brew install openssl

Ha SSL-hez kapcsolódó hibákat találsz, győződj meg róla, hogy az OpenSSL megfelelően van összekapcsolva:

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

Virtuális környezetek

Az ütközések elkerülése érdekében telepítsünk Python csomagokat virtuális környezetbe:

# 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

Fejlesztési telepítés

Az illesztőprogram telepítéséhez a fejlesztéshez szükséges függőségekkel, ha közreműködni szeretne az illesztőprogram fejlesztésében:

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

A telepítési problémák elhárítása

A pip telepítés meghibásodott, ha "nincs megfelelő disztribúció"

Győződj meg róla, hogy Python 3.10-et vagy újabb verziót használsz:

python --version

Ha régebbi Python verziót használsz, frissítsd a Python-t vagy használd a pyenv-t több verzió kezelésére.

Import-hiba telepítés után

Ha látodModuleNotFoundError: No module named 'mssql_python', ellenőrizd, hogy ugyanazt a Python környezetet használod, ahol a csomagot telepítetted.

pip show mssql-python

Engedélyhibák Linuxon/macOS-en

Ha engedélyhibákkal találkozol, kerüld a használatát sudo pip. Ehelyett használj virtuális környezetet vagy a --user zászlót.

pip install --user mssql-python