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

Область применения: SQL Server 2017 (14.x) — только эта версия

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

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

Предварительные требования

Другие замечания

  • Пакеты должны быть совместимыми с 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 для CNTK см. в разделе Установка CNTK из файлов Wheel.

Важно!

Убедитесь, что получена версия пакета для 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"

Совет

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

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

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

Примечание

Если вы используете 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 ...
'

См. также раздел