Installare mssql-python

Il mssql-python driver è il driver Python ufficiale di Microsoft per SQL Server, database SQL di Azure, Istanza gestita di SQL di Azure e database SQL in Microsoft Fabric. Installa il driver su Windows, Linux o macOS usando pip o conda.

Prerequisiti

  • Il driver richiede Python 3.10 o successivo e non supporta versioni precedenti di Python.
  • Per installare con pip, usa il gestore di pacchetti pip, che è incluso con Python.
  • Per installare con conda, usa il gestore di pacchetti conda.

Importante

Il driver mssql-python utilizza DDBC (Direct Database Connectivity), che raggruppa e gestisce internamente il livello ODBC. Non è necessario installare separatamente il driver Microsoft ODBC per SQL Server.

Installare da PyPI

Installa il driver usando pip:

pip install mssql-python

Per aggiornare un'installazione esistente:

pip install --upgrade mssql-python

Per installare una versione specifica:

pip install mssql-python==1.16.0

Il pip install mssql-python comando installa anche due pacchetti companion che il driver richiede in fase di esecuzione:

  • mssql-python-odbcVengono forniti i binari Microsoft ODBC Driver 18.
  • mssql-python-rs fornisce il runtime Rust che alimenta la copia in blocco e il provider opt-in mssql-odbc.

A partire dalla versione 1.16.0, mssql-python fissa le versioni esatte di entrambi i pacchetti. Le versioni precedenti non richiedono mssql-python-rs. Per i pin per versione, vedi Requisiti di dipendenza.

Installa da conda

Il driver è disponibile anche sul canale microsoftAnaconda.org:

conda install -c microsoft mssql-python

Il pacchetto Conda è un pacchetto autonomo. Comprende i binding di Python, i binari del driver ODBC e il runtime Rust, quindi conda installa un pacchetto invece di tre. L'esecuzione pip list nell'ambiente mostra mssql-python-odbc ancora e mssql-python-rs, perché il pacchetto conda include i loro metadati del pacchetto. Conda seleziona la build che corrisponde alla tua piattaforma e alla versione Python, e gestisce gli aggiornamenti:

conda update -c microsoft mssql-python

Installa il driver con Conda o Pip in un dato ambiente, non entrambi.

Il pacchetto conda ha questi requisiti di piattaforma:

Platform Versioni di Python Requirement
Windows x64 da 3.10 a 3.15 None.
Windows ARM64 da 3.12 a 3.15 None.
Linux x64, Linux ARM64 da 3.10 a 3.15 glibc 2.34 e versioni successive. Usa pip su Red Hat Enterprise Linux (RHEL) 8, Alpine Linux e altre distribuzioni con un glibc più vecchio o con musl.
macOS Intel, macOS Apple Silicon da 3.10 a 3.15 macOS 15 e versioni successive. Le connessioni criptate richiedono OpenSSL installato sul sistema, come descritto in macOS. Il driver non carica OpenSSL dall'ambiente Conda.

Verificare l'installazione

Dopo l'installazione, verifica che il driver funzioni:

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

Output previsto:

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

Note specifiche della piattaforma

Windows

Il motore viene fornito come ruota preassemblata che include tutti i componenti necessari.

Linux

Il driver richiede alcune librerie di sistema per l'autenticazione Kerberos e il caricamento dinamico. Installali usando il gestore di pacchetti della tua distribuzione:

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

Su RHEL 8 e altre distribuzioni compatibili glibc 2.28 (AlmaLinux 8, Rocky Linux 8), il driver si installa dalla ruota standard manylinux_2_28 pubblicata su PyPI.

Alpine Linux:

apk add libltdl krb5-libs libstdc++

macOS

Il driver viene fornito come un universal2 fat binary che gira nativamente sia su Apple Silicon (arm64) che su Mac Intel (x86_64). Non serve un'installazione separata di unixODBC.

Il driver richiede OpenSSL. Installalo usando Homebrew:

brew install openssl

Se incontri errori legati a SSL, assicurati che OpenSSL sia correttamente collegato:

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

Ambienti virtuali

Per evitare conflitti, installa pacchetti Python in un ambiente virtuale:

# 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

Installazione di sviluppo

Per installare il driver con dipendenze di sviluppo per contribuire al driver:

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

Risolvere i problemi di installazione

pip install non riesce con "nessuna distribuzione corrispondente trovata"

Assicurati di usare Python 3.10 o versione:

python --version

Se usi una versione più vecchia di Python, aggiorna Python o usa pyenv per gestire più versioni.

Errore di importazione dopo l'installazione

Se vediModuleNotFoundError: No module named 'mssql_python', verifica di usare lo stesso ambiente Python in cui hai installato il pacchetto.

pip show mssql-python

Errori relativi ai permessi su Linux/macOS

Se incontri errori di permesso, evita di usare sudo pip. Invece, usa un ambiente virtuale o la --user bandiera.

pip install --user mssql-python