Установка пакетов с инструментами Python в SQL Server

Применимо к: SQL Server 2017 (14.x)

В этой статье описывается, как использовать стандартные средства Python для установки новых пакетов Python в экземпляре Служб машинного обучения SQL Server. Как правило, процесс установки новых пакетов аналогичен процессу в стандартной среде Python. Тем не менее если сервер не подключен к Интернету, необходимы некоторые дополнительные действия.

Дополнительные сведения о расположении пакетов и путях установки см. в разделе Получение сведений о пакете Python.

Prerequisites

Другие вопросы

  • Пакеты должны быть совместимыми с Python 3.5 и запускаться в Windows.

  • Библиотека пакетов Python находится в папке Program Files своего экземпляра SQL Server и по умолчанию для установки в этой папке требуются права администратора. Дополнительные сведения см. в статье Расположение библиотеки пакетов.

  • Установка пакета выполняется для каждого экземпляра. При наличии нескольких экземпляров Служб машинного обучения необходимо добавить пакет в каждый из них.

  • Серверы баз данных часто бывают заблокированы. Во многих случаях доступ к Интернету полностью заблокирован. Для пакетов с длинным списком зависимостей необходимо заранее указать эти зависимости и подготовиться к установке каждой из них вручную.

  • Перед добавлением пакета определите, подходит ли этот пакет для среды SQL Server.

    • Мы рекомендуем использовать Python в базе данных для задач, которые используют преимущества тесной интеграции с ядром СУБД, например машинное обучение, а не задач, которые просто отправляют запросы в базу данных.

    • Если вы добавляете пакеты, которые приводят к слишком большой вычислительной нагрузке на сервер, производительность снизится.

    • В среде SQL Server с усиленной защитой следует избегать следующего:

      • пакеты, которым требуется доступ к сети;
      • пакеты, которым требуется доступ к файловой системе с повышенными правами;
      • Пакеты, используемые для веб-разработки или других задач, которые не выигрывают от выполнения внутри SQL Server

Добавление пакета Python в SQL Server

Чтобы добавить новый пакет Python, который можно использовать в скрипте в SQL Server, его необходимо установить в экземпляре Служб машинного обучения. При наличии нескольких экземпляров Служб машинного обучения необходимо добавить пакет в каждый из них.

Пакет, установленный в следующих примерах, — CNTK, платформа для глубокого обучения от Корпорации Майкрософт, которая поддерживает настройку, обучение и совместное использование различных типов нейронных сетей.

Для автономной установки скачайте пакет Python.

При установке пакетов Python на сервере без доступа в Интернет необходимо загрузить WHL-файл с компьютера с доступом в Интернет, а затем скопировать файл на сервер.

Например, на компьютере, подключенном к Интернету, можно загрузить файл .whl для CNTK, а затем скопировать его в локальную папку на компьютере SQL Server. Список доступных .whl wheel-файлов для CNTK см. в разделе Install CNTK from Wheel Files.

Important

Убедитесь, что получена версия пакета для Windows. Если файл имеет расширение .gz, вероятно, это неправильная версия.

Дополнительные сведения о скачивании платформы CNTK для нескольких платформ и нескольких версий Python см. в статье Setup CNTK on your machine (Настройка CNTK на компьютере).

Найдите библиотеку Python

Найдите расположение библиотеки Python по умолчанию, используемое SQL Server. Если вы установили несколько экземпляров, найдите папку PYTHON_SERVICES для экземпляра, в который нужно добавить пакет.

Например, если Службы машинного обучения были установлены с использованием значений по умолчанию, а машинное обучение включено в экземпляре по умолчанию, то путь будет выглядеть так:

cd "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES"

Tip

Для последующей отладки и тестирования может потребоваться настроить среду Python, относящуюся к библиотеке экземпляров.

Установка пакета с помощью PIP

Используйте установщик pip для установки новых пакетов. pip.exe можно найти в подпапке Scripts папки PYTHON_SERVICES. Программа установки SQL Server не добавляет подпапку Scripts в системную переменную PATH, поэтому необходимо указать полный путь или добавить папку Scripts в переменную PATH в Windows.

Note

Если вы используете Visual Studio 2017 или Visual Studio 2015 с расширениями Python, можно запустить pip install из окна "Среды Python ". Щелкните "Пакеты" и в текстовом поле укажите имя или расположение пакета для установки. Вам не нужно вводить pip install. Это произойдет автоматически.

  • Если компьютер имеет доступ к Интернету, укажите имя пакета:

    scripts\pip.exe install cntk
    

    Можно также указать URL-адрес конкретного пакета и версии, например:

    scripts\pip.exe install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.1-cp35-cp35m-win_amd64.whl
    
  • Если у компьютера нет доступа к Интернету, укажите WHL-файл, скачанный ранее. Рассмотрим пример.

    scripts\pip.exe install C:\Downloads\cntk-2.1-cp35-cp35m-win_amd64.whl
    

Вам может быть предложено повысить уровень разрешений для завершения установки. По мере выполнения установки в окне командной строки будут отображаться сообщения о состоянии.

Загрузка пакета или его функций в составе скрипта

После завершения установки можно сразу приступить к использованию пакета в скриптах Python на SQL Server.

Чтобы использовать функции из пакета в скрипте, вставьте стандартную инструкцию import <package_name> в начальные строки скрипта:

EXECUTE sp_execute_external_script 
  @language = N'Python', 
  @script = N'
import cntk
# Python statements ...
'