Установка пакетов с инструментами Python в SQL ServerInstall packages with Python tools on SQL Server

Применимо к:Applies to: только для даSQL Server 2017 (14.x);SQL Server 2017 (14.x)yesSQL Server 2017 (14.x);SQL Server 2017 (14.x)Применимо к:Applies to: даSQL Server 2017 (14.x);SQL Server 2017 (14.x)yesSQL Server 2017 (14.x);SQL Server 2017 (14.x) only

В этой статье описывается, как использовать стандартные средства Python для установки новых пакетов Python в экземпляре Служб машинного обучения SQL Server.This article describes how to use standard Python tools to install new Python packages on an instance of SQL Server Machine Learning Services. Как правило, процесс установки новых пакетов аналогичен процессу в стандартной среде Python.In general, the process for installing new packages is similar to that in a standard Python environment. Тем не менее если сервер не подключен к Интернету, необходимы некоторые дополнительные действия.However, some additional steps are required if the server does not have an Internet connection.

Дополнительные сведения о расположении пакетов и путях установки см. в разделе Получение сведений о пакете Python.For more information about package location and installation paths, see Get Python package information.

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

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

  • Пакеты должны быть совместимыми с Python 3.5 и запускаться в Windows.Packages must be Python 3.5-compliant and run on Windows.

  • Библиотека пакетов Python находится в папке Program Files своего экземпляра SQL Server и по умолчанию для установки в этой папке требуются права администратора.The Python package library is located in the Program Files folder of your SQL Server instance and, by default, installing in this folder requires administrator permissions. Дополнительные сведения см. в статье Расположение библиотеки пакетов.For more information, see Package library location.

  • Установка пакета производится для каждого экземпляра.Package installation is per instance. При наличии нескольких экземпляров Служб машинного обучения необходимо добавить пакет в каждый из них.If you have multiple instances of Machine Learning Services, you must add the package to each one.

  • Серверы баз данных часто бывают заблокированы.Database servers are frequently locked down. Во многих случаях доступ к Интернету полностью заблокирован.In many cases, Internet access is blocked entirely. Для пакетов с длинным списком зависимостей необходимо заранее указать эти зависимости и подготовиться к установке каждой из них вручную.For packages with a long list of dependencies, you will need to identify these dependencies in advance and be ready to install each one manually.

  • Перед добавлением пакета определите, подходит ли этот пакет для среды SQL Server.Before adding a package, consider whether the package is a good fit for the SQL Server environment.

    • Мы рекомендуем использовать Python в базе данных для задач, которые используют преимущества тесной интеграции с ядром СУБД, например машинное обучение, а не задач, которые просто отправляют запросы в базу данных.We recommend that you use Python in-database for tasks that benefit from tight integration with the database engine, such as machine learning, rather than tasks that simply query the database.

    • Если вы добавляете пакеты, которые приводят к слишком большой вычислительной нагрузке на сервер, производительность снизится.If you add packages that put too much computational pressure on the server, performance will suffer.

    • В защищенной среде SQL Server может потребоваться отказаться от следующих пакетов:On a hardened SQL Server environment, you might want to avoid the following:

      • пакеты, которым требуется доступ к сети;Packages that require network access
      • пакеты, которым требуется доступ к файловой системе с повышенными правами;Packages that require elevated file system access
      • пакеты, используемые для веб-разработки или других задач, малоэффективных в SQL Server.Packages used for web development or other tasks that don't benefit by running inside SQL Server

Добавление пакета Python в SQL ServerAdd a Python package on SQL Server

Чтобы добавить новый пакет Python, который можно использовать в скрипте в SQL Server, его необходимо установить в экземпляре Служб машинного обучения.To install a new Python package that can be used in a script on SQL Server, you install the package in the instance of Machine Learning Services. При наличии нескольких экземпляров Служб машинного обучения необходимо добавить пакет в каждый из них.If you have multiple instances of Machine Learning Services, you must add the package to each one.

В следующих примерах установлен пакет CNTK. Это платформа для глубокого обучения от корпорации Майкрософт, которая поддерживает настройку, обучение и совместное использование различных типов нейронных сетей.The package installed in the following examples is CNTK, a framework for deep learning from Microsoft that supports customization, training, and sharing of different types of neural networks.

Для автономной установки скачайте пакет Python.For offline install, download the Python package

При установке пакетов Python на сервере без доступа в Интернет необходимо загрузить WHL-файл с компьютера с доступом в Интернет, а затем скопировать файл на сервер.If you are installing Python packages on a server with no Internet access, you must download the WHL file from a computer with Internet access and then copy the file to the server.

Например, на компьютере, подключенном к Интернету, можно загрузить файл cntk-2.1-cp35-cp35m-win_amd64.whl с сайта https://cntk.ai/PythonWheel/CPU-Only, а затем скопировать его в локальную папку на компьютере SQL Server.For example, on an Internet-connected computer you can download the file cntk-2.1-cp35-cp35m-win_amd64.whl from the site https://cntk.ai/PythonWheel/CPU-Only, and then copy the file to a local folder on the SQL Server computer.

Важно!

Убедитесь, что получена версия пакета для Windows.Make sure that you get the Windows version of the package. Если файл имеет расширение .gz, вероятно, это неправильная версия.If the file ends in .gz, it's probably not the right version.

Дополнительные сведения о скачивании платформы CNTK для нескольких платформ и нескольких версий Python см. в статье Setup CNTK on your machine (Настройка CNTK на компьютере).For more information about downloads of the CNTK framework for multiple platforms and for multiple versions of Python, see Setup CNTK on your machine.

Поиск расположения библиотеки PythonLocate the Python library

Найдите расположение библиотеки Python по умолчанию, используемое SQL Server.Locate the default Python library location used by SQL Server. Если вы установили несколько экземпляров, найдите папку PYTHON_SERVICES для экземпляра, в который нужно добавить пакет.If you have installed multiple instances, locate the PYTHON_SERVICES folder for the instance where you want to add the package.

Например, если Службы машинного обучения были установлены с использованием значений по умолчанию, а машинное обучение включено в экземпляре по умолчанию, то путь будет выглядеть так:For example, if Machine Learning Services was installed using defaults, and machine learning was enabled on the default instance, the path is:

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

Совет

Для последующей отладки и тестирования может потребоваться настроить среду Python, относящуюся к библиотеке экземпляров.For future debugging and testing, you might want to set up a Python environment specific to the instance library.

Установка пакета с помощью PIPInstall the package using pip

Чтобы установить новые пакеты, используйте установщик PIP.Use the pip installer to install new packages. pip.exe можно найти во вложенной папке Scripts папки PYTHON_SERVICES.You can find pip.exe in the Scripts subfolder of the PYTHON_SERVICES folder. Программа установки SQL Server не добавляет вложенную папку Scripts в системный путь, поэтому необходимо указать полный путь или добавить папку Scripts в переменную PATH в Windows.SQL Server Setup does not add the Scripts subfolder to the system path, so you must specify the full path, or you can add the Scripts folder to the PATH variable in Windows.

Примечание

Если вы используете Visual Studio 2017 или Visual Studio 2015 с расширениями Python, запустите pip install из окна сред Python.If you're using Visual Studio 2017, or Visual Studio 2015 with the Python extensions, you can run pip install from the Python Environments window. Щелкните элемент Пакеты и в текстовом поле укажите имя или расположение пакета для установки.Click Packages, and in the text box, provide the name or location of the package to install. Вам не нужно вводить pip install. Это произойдет автоматически.You don't need to type pip install; it is filled in for you automatically.

  • Если компьютер имеет доступ к Интернету, укажите имя пакета:If the computer has Internet access, provide the name of the package:

    scripts\pip.exe install cntk
    

    Можно также указать URL-адрес конкретного пакета и версии, например:You can also specify the URL of a specific package and version, for example:

    scripts\pip.exe install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.1-cp35-cp35m-win_amd64.whl
    
  • Если у компьютера нет доступа к Интернету, укажите WHL-файл, скачанный ранее.If the computer does not have Internet access, specify the WHL file you downloaded earlier. Пример:For example:

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

Вам может быть предложено повысить уровень разрешений для завершения установки.You might be prompted to elevate permissions to complete the install. По мере выполнения установки в окне командной строки будут отображаться сообщения о состоянии.As the installation progresses, you can see status messages in the command prompt window.

Загрузка пакета или его функций в составе скриптаLoad the package or its functions as part of your script

После завершения установки можно сразу приступить к использованию пакета в скриптах Python на SQL Server.When installation is complete, you can immediately begin using the package in Python scripts in SQL Server.

Чтобы использовать функции из пакета в скрипте, вставьте стандартную инструкцию import <package_name> в начальные строки скрипта:To use functions from the package in your script, insert the standard import <package_name> statement in the initial lines of the script:

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

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