Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 o conda.
Prerequisites
- El controlador requiere Python 3.10 o posterior y no soporta versiones anteriores de Python.
- Para instalarlo con pip, use el gestor de paquetes pip, que viene incluido en Python.
- Para instalar con Conda, el gestor de paquetes conda.
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.16.0
El pip install mssql-python comando también instala dos paquetes complementarios que el controlador requiere en tiempo de ejecución:
-
mssql-python-odbcEste incluye los binarios del controlador ODBC 18 de Microsoft. -
mssql-python-rsincluye el runtime de Rust que alimenta la copia masiva y el proveedor opt-inmssql-odbc.
A partir de la versión 1.16.0, mssql-python fija versiones exactas de ambos paquetes. Las versiones anteriores no requieren mssql-python-rs. Para las versiones fijadas por versión, véase Requisitos de dependencia.
Instalar desde conda
El controlador también está disponible en el microsoft canal de Anaconda.org:
conda install -c microsoft mssql-python
El paquete Conda es un paquete independiente. Incluye los bindings de Python, los binarios de controladores ODBC y el runtime de Rust, por lo que conda instala un paquete en lugar de tres. Al ejecutar pip list en el entorno, se siguen mostrando mssql-python-odbc y mssql-python-rs, porque el paquete conda incluye sus metadatos del paquete. Conda selecciona la compilación que se adapta a tu plataforma y a la versión de Python, y gestiona las actualizaciones:
conda update -c microsoft mssql-python
Instala el driver con conda o pip en un entorno determinado, no en ambos.
El paquete conda tiene los siguientes requisitos de plataforma:
| Platform | Versiones de Python | Requirement |
|---|---|---|
| Windows x64 | 3.10 a 3.15 | Ninguno. |
| Windows ARM64 | 3.12 a 3.15 | Ninguno. |
| Linux x64, Linux ARM64 | 3.10 a 3.15 | glibc 2.34 y versiones posteriores. Usa pip en Red Hat Enterprise Linux (RHEL) 8, Alpine Linux y otras distribuciones con un glibc antiguo o con musl. |
| macOS Intel, macOS Apple Silicon | 3.10 a 3.15 | macOS 15 y versiones posteriores. Las conexiones cifradas requieren OpenSSL instalado en el sistema, como se describe en macOS. El controlador no carga OpenSSL desde el entorno de conda. |
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.16.0
DB-API level: 2.0
Thread safety: 1
Parameter style: pyformat
Notas específicas de la plataforma
Windows
El controlador se distribuye como un paquete precompilado 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 libstdc++
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 mismo:
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