Instalación de mssql-python

El controlador mssql-python es el controlador oficial de Microsoft para Python para SQL Server, Azure SQL Database, Azure SQL Managed Instance y la base de datos SQL de Microsoft Fabric. Instala el controlador en Windows, Linux o macOS usando pip.

Prerequisites

  • El controlador requiere Python 3.10 o posterior y no soporta versiones anteriores de Python.
  • gestor de paquetes pip (incluido con Python 3.4+).

Importante

El controlador mssql-python utiliza DDBC (Conectividad Directa de Bases de Datos), que agrupa y gestiona internamente la capa ODBC. No necesitas instalar el controlador ODBC de Microsoft para SQL Server por separado.

Instalar desde PyPI

Instala el controlador usando pip:

pip install mssql-python

Para actualizar una instalación existente:

pip install --upgrade mssql-python

Para instalar una versión específica:

pip install mssql-python==1.11.0

Comprobación de la instalación

Después de la instalación, verifica que el controlador funcione:

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

Resultado esperado:

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

Notas específicas de la plataforma

Windows

El conductor se presenta como una rueda preconstruida que incluye todos los componentes necesarios.

Linux

El controlador requiere ciertas librerías del sistema para la autenticación de Kerberos y la carga dinámica. Instálalos usando el gestor de paquetes de tu distribución:

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

En RHEL 8 y otras distribuciones compatibles con glibc 2.28 (AlmaLinux 8, Rocky Linux 8), el controlador se instala desde la rueda estándar manylinux_2_28 publicada en PyPI.

Alpine Linux:

apk add libltdl krb5-libs

macOS

El controlador viene como un universal2 binario grueso que se ejecuta de forma nativa tanto en Apple Silicon (arm64) como en Mac Intel (x86_64). No necesitas una instalación separada de unixODBC.

El controlador requiere OpenSSL. Instálalo usando Homebrew:

brew install openssl

Si encuentras errores relacionados con SSL, asegúrate de que OpenSSL esté correctamente vinculado:

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

Entornos virtuales

Para evitar conflictos, instala paquetes de Python en un entorno virtual:

# 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

Instalación de desarrollo

Para instalar el controlador con las dependencias de desarrollo necesarias para contribuir al controlador:

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

Solucionar problemas de instalación

pip install falla con «no hay ninguna distribución coincidente»

Asegúrate de usar Python 3.10 o posterior:

python --version

Si usas una versión antigua de Python, actualiza Python o usa pyenv para gestionar varias versiones.

Error de importación tras la instalación

Si ves ModuleNotFoundError: No module named 'mssql_python', verifica que estás usando el mismo entorno Python donde instalaste el paquete.

pip show mssql-python

Errores de permisos en Linux/macOS

Si encuentras errores de permiso, evita usar sudo pip. En su lugar, utiliza un entorno virtual o la --user bandera.

pip install --user mssql-python