Установка mssql-python

Драйвер mssql-python является официальным Python-драйвером Microsoft для SQL Server, База данных SQL Azure, Управляемый экземпляр SQL Azure и SQL Database в Microsoft Fabric. Установите драйвер на Windows, Linux или macOS, используя pip или conda.

Необходимые условия

  • Драйвер требует версии Python 3.10 или выше и не поддерживает более ранние версии Python.
  • Чтобы установить с помощью менеджера пакетов pip, который входит в комплект Python.
  • Чтобы установить с помощью conda, используйте менеджер пакетов conda.

Important

Драйвер mssql-python использует DDBC (Direct Database Connectivity), который объединяет и управляет уровнем ODBC внутри системы. Вам не нужно отдельно устанавливать драйвер Microsoft ODBC для SQL Server.

Установка из PyPI

Установите драйвер с помощью pip:

pip install mssql-python

Чтобы обновить существующую установку, выполните приведенные далее действия.

pip install --upgrade mssql-python

Установка конкретной версии:

pip install mssql-python==1.16.0

pip install mssql-python Команда также устанавливает два дополнительных пакета, необходимые драйверу во время выполнения:

  • mssql-python-odbc поставляет двоичные файлы Microsoft ODBC Driver 18.
  • mssql-python-rs поставляет среду выполнения Rust, которая обеспечивает работу bulk copy и opt-in провайдера mssql-odbc .

Начиная с версии 1.16.0, mssql-python фиксирует точные версии обоих пакетов. Ранние версии не требуют mssql-python-rs. Сведения о закреплении зависимостей по версиям см. в разделе Требования к зависимостям.

Установить из conda

Драйвер также доступен на microsoft канале Anaconda.org:

conda install -c microsoft mssql-python

Пакет conda — это самостоятельный пакет. Он включает биндинги Python, бинарные файлы драйвера ODBC и Rust runtime, поэтому Conda устанавливает один пакет вместо трёх. Запуск pip list в среде всё равно показывает mssql-python-odbc и mssql-python-rs, потому что пакет conda включает метаданные этих пакетов. Conda выбирает сборку, соответствующую вашей платформе и версии Python, и управляет обновлениями:

conda update -c microsoft mssql-python

Устанавливайте драйвер с помощью conda или pip в определённой среде, но не оба сразу.

Пакет conda содержит следующие требования к платформе:

Platform Версии Python Requirement
Windows x64 с 3.10 по 3.15 None.
Windows ARM64 3.12–3.15 None.
Linux x64, Linux ARM64 с 3.10 по 3.15 Glibc 2.34 и более поздние версии. Используйте pip на Red Hat Enterprise Linux (RHEL) 8, Alpine Linux и других дистрибутивах с более старым glibc или с musl.
macOS Intel, macOS Apple Silicon с 3.10 по 3.15 версии macOS 15 и более поздние. Зашифрованные соединения требуют установки OpenSSL на системе, как описано в macOS. Драйвер не загружает OpenSSL из среды Conda.

Проверка установки

После установки убедитесь, что драйвер работает:

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

Ожидаемые выходные данные:

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

Заметки по особенностям платформы

Windows

Драйвер поставляется как готовое колесо, включающее все необходимые компоненты.

Linux

Драйвер требует определённых системных библиотек для аутентификации Kerberos и динамической загрузки. Устанавливайте их через менеджер пакетов вашего дистрибутива:

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

Замечание

На RHEL 8 и других дистрибутивах, совместимых с glibc 2.28 (AlmaLinux 8, Rocky Linux 8), драйвер устанавливается со стандартного manylinux_2_28 колеса, опубликованного в PyPI.

Alpine Linux:

apk add libltdl krb5-libs libstdc++

macOS

Драйвер поставляется как universal2 толстый бинарный файл, который работает нативно как на Apple Silicon (arm64), так и на Intel (x86_64) Mac. Вам не нужна отдельная установка UnixODBC.

Драйвер требует OpenSSL. Установите его с помощью Homebrew:

brew install openssl

Если вы столкнётесь с ошибками, связанными с SSL, убедитесь, что OpenSSL корректно связан:

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

Виртуальные среды

Чтобы избежать конфликтов, устанавливайте пакеты Python в виртуальной среде:

# 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

Установка для разработки

Чтобы установить драйвер с зависимостями для разработки, необходимыми для участия в разработке драйвера:

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

Устранение ошибок установки

Установка pip не удаётся из-за «нет совпадающего распределения»

Убедитесь, что используете Python 3.10 или более новее:

python --version

Если вы используете старую версию Python, обновите Python или используйте pyenv для управления несколькими версиями.

Ошибка импорта после установки

Если видитеModuleNotFoundError: No module named 'mssql_python', убедитесь, что используете ту же среду Python, где установили пакет.

pip show mssql-python

Ошибки разрешений на Linux/macOS

Если вы столкнётесь с ошибками в разрешении, избегайте использования sudo pip. Вместо этого используйте виртуальную среду или флаг --user .

pip install --user mssql-python