Поделиться через


Изменение стандартной версии языковой среды выполнения R или Python

Область применения: SQL Server 2016 (13.x) SQL Server 2017 (14.x)

В этой статье описывается, как изменить версию R или Python по умолчанию, используемую в службах R SQL Server 2016 или службах машинного обучения SQL Server с помощью Python и R.

Ниже перечислены версии языковой среды выполнения R и Python, которые включены в различные версии SQL Server.

Версия SQL Server Service Накопительное обновление Версии среды выполнения R Версия среды выполнения Python
SQL Server 2016 (13.x) Службы R RTM — с пакетом обновления 2 (SP2) CU13 3.2.2 Недоступно
SQL Server 2016 (13.x) Службы R Пакет обновления 2 (SP2 ) CU14 и более поздние версии 3.2.2 и 3.5.2 Недоступно
SQL Server 2017 (14.x) Служба машинного обучения RTM — CU21 3.3.3 3.5.2
SQL Server 2017 (14.x) Служба машинного обучения CU22 и более поздние версии 3.3.3 и 3.5.2 3.5.2 и 3.7.2

Необходимые компоненты

Необходимо установить накопительное обновление (CU), чтобы изменить стандартную версию языковой среды выполнения R или Python:

  • SQL Server 2016: пакет обновления 2 (SP) 2 накопительного обновления (CU) 14 или более поздней версии
  • SQL Server 2017: накопительное обновление (CU) 22 или более поздней версии

Чтобы скачать последний накопительный пакет обновлений, перейдите на страницу Последние обновления для Microsoft SQL Server.

Примечание.

Если вы интегрируете накопительное обновление с новой установкой SQL Server, будут установлены только самые новые версии среды выполнения для R и Python.

Изменение версии среды выполнения R

Если вы установили одно из указанных выше накопительных обновлений для SQL Server 2016 или 2017, в экземпляре SQL Server может быть несколько версий R. Каждая версия содержится во вложенной папке папки экземпляра с именем R_SERVICES.<мажорный>.<минорный> (папка из исходной установки может не иметь номера версии, добавленного к имени папки).

При установке пакета CU, содержащего R 3.5, создается папка R_SERVICES:

  • SQL Server 2016: C:\Program Files\Microsoft SQL Server\MSSQL13.<INSTANCE_NAME>\R_SERVICES.3.5.
  • SQL Server 2017: C:\Program Files\Microsoft SQL Server\MSSQL14.<INSTANCE_NAME>\R_SERVICES.3.5.

Каждый экземпляр SQL Server использует одну из этих версий в качестве версии R по умолчанию. Вы можете изменить версию по умолчанию с помощью RegisterRext.exe служебной программы командной строки. Программа находится под папкой R в каждом экземпляре SQL Server:

<Путь экземпляра SQL Server\R_SERVICES.n.n\library\RevoScaleR\rxLibs\x64\RegisterRext.exe

Примечание.

Функциональность, описанная в этой статье, доступна только с копией RegisterRext.exe, включенной в кумулятивные обновления SQL. Не используйте копию, которая пришла с исходной установкой SQL Server.

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

  • /configure — обязательный аргумент, который указывает, что вы настраиваете стандартную версию R.

  • /instance: <имя_экземпляра> — необязательно, экземпляр, который нужно настроить. Если он не указан, настраивает экземпляр, заданный по умолчанию.

  • /rhome: <путь_к_папке_R_SERVICES[n.n]> — необязательно, путь к папке версии среды выполнения, которую вы хотите задать в качестве стандартной версии R.

    Если вы не укажете /rhome, то путь настроен как путь, в котором RegisterRext.exe находится.

Примеры

Ниже приведены примеры изменения версии среды выполнения R в SQL Server 2016 и 2017.

Изменение версии среды выполнения R в SQL Server 2016

Например, чтобы настроить R 3.5 в качестве стандартной версии R для экземпляра MSSQLSERVER01 в SQL Server 2016, сделайте следующее:

cd "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES.3.5\library\RevoScaleR\rxLibs\x64"

.\RegisterRext.exe /configure /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES.3.5" /instance:MSSQLSERVER01

Изменение версии среды выполнения R в SQL Server 2017

Например, чтобы настроить R 3.5 в качестве стандартной версии R для экземпляра MSSQLSERVER01 в SQL Server 2017, сделайте следующее:

cd "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\R_SERVICES.3.5\library\RevoScaleR\rxLibs\x64"

.\RegisterRext.exe /configure /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\R_SERVICES.3.5" /instance:MSSQLSERVER01

В этих примерах не нужно включать /rhome аргумент, так как вы указываете ту же папку, где RegisterRext.exe находится.

Изменение версии среды выполнения Python

Если вы установили SQL Server 2017 (14.x) CU22 или более поздней версии, в экземпляре SQL Server может быть несколько версий Python. Каждая версия содержится в подпапке папки экземпляра с именем PYTHON_SERVICES.<мажорный>.<минорный> (папка из первоначальной установки может не иметь номер версии, добавленный к имени папки).

Например, при установке пакета CU, содержащего Python 3.7, создается папка PYTHON_SERVICES:

C:\Program Files\Microsoft SQL Server\MSSQL14.<INSTANCE_NAME>\PYTHON_SERVICES.3.7

Каждый экземпляр SQL Server использует одну из этих версий в качестве стандартной версии Python. Вы можете изменить версию по умолчанию с помощью RegisterRext.exe служебной программы командной строки. Программа находится под папками Python в каждом экземпляре SQL Server:

<Путь к экземпляру SQL Server>\PYTHON_SERVICES.n.n\Lib\site-packages\revoscalepy\rxLibs\RegisterRExt.exe

Примечание.

Функциональность, описанная в этой статье, доступна только в виде копии RegisterRext.exe, включенной в кумулятивное обновление SQL. Не используйте копию, которая пришла с исходной установкой SQL Server.

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

  • /configure — обязательный аргумент, который указывает, что вы настраиваете стандартную версию Python.

  • /python — указывает, что вы настраиваете стандартную версию Python. Необязательно, если указано /pythonhome.

  • /instance: <имя_экземпляра> — необязательно, экземпляр, который нужно настроить. Если он не указан, настраивает экземпляр, заданный по умолчанию.

  • /pythonhome: <путь_к_папке_PYTHON_SERVICES[n.n]> — необязательно, путь к папке версии среды выполнения, которую вы хотите задать в качестве стандартной версии Python.

    Если вы не укажете /pythonhome, настроенный путь — это путь, в котором RegisterRext.exe находится.

Пример

Например, чтобы настроить Python 3.7 в качестве версии Python по умолчанию для экземпляра MSSQLSERVER01 в SQL Server 2017, сделайте следующее:

cd "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\PYTHON_SERVICES.3.7\Lib\site-packages\revoscalepy\rxLibs"

.\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES.3.7" /instance:MSSQLSERVER01

В этом примере не нужно включать /pythonhome аргумент, так как вы указываете ту же папку, где RegisterRext.exe находится.

Удаление версии среды выполнения

Чтобы удалить версию R или Python, используйте RegisterRext.exe вместе с аргументом /cleanup командной строки, применяя те же /rhome, /pythonhome, и /instance аргументы, описанные ранее.

Например, чтобы удалить папку R 3.2 из экземпляра MSSQLSERVER01, сделайте следующее:

.\RegisterRext.exe /cleanup /rhome:"C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER01\R_SERVICES" /instance:MSSQLSERVER01

Например, чтобы удалить папку Python 3.7 из экземпляра MSSQLSERVER01, сделайте следующее:

.\RegisterRExt.exe /cleanup /python /pythonhome:"C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER01\PYTHON_SERVICES.3.7" /instance:MSSQLSERVER01

RegisterRext.exe Запрашивает подтверждение очистки указанной среды выполнения R:

Вы действительно хотите окончательно удалить указанную среду выполнения вместе со всеми установленными в ней пакетами? [Да(Y)/Нет(N)/По умолчанию(Да)]:

Для подтверждения введите Y или нажмите клавишу ВВОД. Кроме того, можно пропустить этот запрос, передав /y или /Yes в параметр /cleanup.

Примечание.

Вы можете удалить версию только в том случае, если она не настроена в качестве используемой по умолчанию, и она в настоящее время не используется для запуска RegisterRext.exe.