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

Пакет mssql-django — это официальная серверная часть базы данных Django, поддерживаемая Microsoft для SQL Server, База данных SQL Azure, Управляемый экземпляр SQL Azure и базы данных SQL в Microsoft Fabric. В этой статье объясняется, как установить пакет и его зависимости.

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

  • Python 3.10 по 3.14. Django 6.0 и более поздние версии требуют как минимум Python 3.12.
  • Диспетчер пакетов pip (включен в Python версии 3.4 и более поздних версий)
  • Microsoft ODBC Driver 17 или 18 для SQL Server для псевдонимов баз данных, использующих драйвер pyodbc по умолчанию. См. раздел "Скачать драйвер ODBC для SQL Server".

Important

mssql-django 2.0 требует mssql-python версии 1.15.0 или более поздней версии, даже если каждый псевдоним базы данных использует pyodbc. Пакет устанавливается только на платформах с совместимым mssql-python дистрибутивом. Проекты на других платформах остаются на версии 1.8.0. Для списка платформ см. поддержку и жизненный цикл mssql-django.

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

Установите пакет с помощью pip. Эта команда также устанавливает Django, pyodbc, mssql-python, и tzdata автоматически:

pip install mssql-django

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

pip install --upgrade mssql-django

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

pip install mssql-django==2.0.0

Совместимость зависимостей и версий

Для mssql-django версии 2.0 метаданные пакета включают следующие ограничения зависимостей:

Компонент Руководство по версиям
Python 3.10–3.14
Django >=5.2 и <6.2.
pyodbc >=3.0
mssql-python >=1.15.0
tzdata Установлено как зависимость

Tip

Позвольте pip определить совместимые версии, если у вас нет проверенного lock-файла. Закрепление более старой pyodbc версии может привести к проблемам среды выполнения даже при успешной установке.

Выберите драйвер базы данных

pyodbc является драйвером по умолчанию и не требует настройки. Чтобы вместо этого запускать псевдоним базы данных на mssql-python, добавьте "python_driver": "mssql_python" в словарь OPTIONS этого псевдонима. Алиасы могут использовать разные драйверы в одном проекте. Для различий в поведении и параметрах, которые каждый драйвер игнорирует, см. Выберите драйвер базы данных для mssql-django.

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

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

pip show mssql-django

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

Name: mssql-django
Version: 2.0.0
Summary: Django backend for Microsoft SQL Server

Проверьте слой ODBC, который используется на пути по умолчанию pyodbc :

import pyodbc

print(f"pyodbc version: {pyodbc.version}")
print(f"Available ODBC drivers: {pyodbc.drivers()}")

Note

Серверная mssql-django часть автоматически настраивается в системе маршрутизации баз данных Django. Не импортируйте его непосредственно в код приложения. Вместо этого установите для ENGINE значение mssql в конфигурации DATABASES.

Использование виртуальной среды

Используйте виртуальную среду Python для изоляции зависимостей проекта:

python -m venv .venv

Активируйте виртуальную среду:

.venv\Scripts\activate

Затем установите mssql-django в виртуальной среде:

pip install mssql-django

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

Псевдонимы баз данных, использующие стандартный pyodbc драйвер, требуют отдельно установленного драйвера ODBC, а шаги установки различаются в зависимости от операционной системы. Псевдонимы, которые используют mssql-python , не требуют этих шагов. Вместо этого установите требования платформы для mssql-python, включая OpenSSL на macOS и необходимые библиотеки на Linux.

Windows

Установите Microsoft драйвер ODBC 18 для SQL Server с помощью установщика .msiскачать драйвер ODBC для SQL Server.

Линукс

Установите драйвер ODBC с помощью диспетчера пакетов дистрибутива. См. Установка драйвера Microsoft ODBC для SQL Server (Linux), чтобы получить инструкции для конкретных платформ.

macOS

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

brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18

Зависимости

Пакет mssql-django автоматически устанавливает следующие зависимости:

Пакет Purpose
Django Веб-платформа
pyodbc Стандартный драйвер базы данных ODBC для Python
mssql-python Опциональный драйвер базы данных для Python, устанавливаемый безусловно
tzdata База данных часовых поясов IANA для стандартного библиотечного zoneinfo модуля

Бэкенд преобразует значения datetime, содержащие информацию о часовом поясе, с помощью модуля zoneinfo стандартной библиотеки. zoneinfo читает базу данных часовых поясов IANA операционной системы, если она доступна, а в противном случае использует пакет tzdata, который охватывает Windows и минимальные образы контейнеров. pytz больше не является зависимостью.