既定の R または Python 言語ランタイム バージョンを変更する
適用対象: SQL Server 2016 (13.x) SQL Server 2017 (14.x)
この記事では、SQL Server 2016 R Services または SQL Server 2017 Machine Learning Services で使用される R または Python の既定のバージョンを変更する方法について説明します。
次に、さまざまな SQL Server バージョンに含まれる R および Python ランタイムのバージョンを示します。
SQL Server のバージョン | サービス | 累積的な更新プログラム | R ランタイムのバージョン | Python ランタイムのバージョン |
---|---|---|---|---|
SQL Server 2016 | R Services | RTM - SP2 CU13 | 3.2.2 | 使用できません |
SQL Server 2016 | R Services | SP2 CU14 以降 | 3.2.2 および 3.5.2 | 使用できません |
SQL Server 2017 | Machine Learning サービス | RTM - CU21 | 3.3.3 | 3.5.2 |
SQL Server 2017 | Machine Learning サービス | CU22 以降 | 3.3.3 および 3.5.2 | 3.5.2 および 3.7.2 |
前提条件
既定の R または Python 言語ランタイム バージョンを変更するには、累積的な更新プログラム (CU) をインストールする必要があります。
- SQL Server 2016: Services Pack (SP) 2 の累積的な更新プログラム (CU) 14 以降
- SQL Server 2017: 累積的な更新プログラム (CU) 22 以降
最新の累積的な更新プログラムをダウンロードするには、「Microsoft SQL Server の最新の更新プログラム」をご覧ください。
注意
SQL Server の新規インストールで累積的な更新プログラムをスリップストリームすると、最新バージョンの R および Python ランタイムのみがインストールされます。
R ランタイムのバージョンを変更する
SQL Server 2016 または 2017 に対して上記の累積的な更新プログラムのいずれかをインストールしている場合は、SQL インスタンスに複数のバージョンの R が存在する可能性があります。 各バージョンは、R_SERVICES.
<major> . <minor> という名前のインスタンス フォルダーのサブフォルダーに含まれています (元のインストールからのフォルダーには、フォルダー名にバージョン番号が付加されていない場合があります)。
R 3.5 を含む CU をインストールした場合、新しい 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 インスタンスでは、これらのバージョンのいずれかが R の既定のバージョンとして使用されます。既定のバージョンを変更するには、RegisterRext.exe コマンドライン ユーティリティを使用します。 このユーティリティは、各 SQL インスタンスの R フォルダーにあります。
<SQL インスタンス パス> \R_SERVICES.n.n\library\RevoScaleR\rxLibs\x64\RegisterRext.exe
注意
この記事で説明している機能は、SQL CU に含まれている RegisterRext.exe のコピーでのみ使用できます。 元の SQL インストールに付属するコピーは使用しないでください。
R ランタイム バージョンを変更するには、次のコマンド ライン引数を RegisterRext.exe に渡します。
/configure
- 必須。既定の R バージョンを構成していることを示します。/instance:
<インスタンス名> - 省略可能。構成するインスタンスです。 指定しない場合、既定のインスタンスが構成されます。/rhome:
<R_SERVICES [n. n] フォルダーのパス> - 省略可能。既定の R バージョンとして設定するランタイム バージョン フォルダーへのパスです。/rhome を指定しない場合、構成されるパスは RegisterRext.exe が配置されているパスになります。
例
SQL Server 2016 および 2017 で R ランタイム バージョンを変更する方法の例を次に示します。
SQL Server 2016 で R ランタイム バージョンを変更する
たとえば、SQL Server 2016 でインスタンス MSSQLSERVER01 に対し R の既定のバージョンとして R 3.5 を構成するには、次のようにします。
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
SQL Server 2017 で R ランタイム バージョンを変更する
たとえば、SQL Server 2017 でインスタンス MSSQLSERVER01 に対し R の既定のバージョンとして R 3.5 を構成するには、次のようにします。
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
これらの例では、RegisterRext.exe が配置されているフォルダーと同じフォルダーを指定しているため、/rhome
引数を含める必要はありません。
Python ランタイムのバージョンを変更する
SQL Server 2017 に対して CU22 以降がインストールされている場合は、SQL インスタンスに複数バージョンの Python が存在する可能性があります。 各バージョンは、PYTHON_SERVICES.
<major> . <minor> という名前のインスタンス フォルダーのサブフォルダーに含まれています (元のインストールからのフォルダーには、フォルダー名にバージョン番号が付加されていない場合があります)。
たとえば、Python 3.7 を含む CU をインストールした場合、新しい PYTHON_SERVICES
フォルダーが作成されます。
C:\Program Files\Microsoft SQL Server\MSSQL14.<INSTANCE_NAME>\PYTHON_SERVICES.3.7
各 SQL インスタンスは、これらのバージョンのいずれかを Python の既定のバージョンとして使用します。 既定のバージョンを変更するには、RegisterRExt.exe コマンドライン ユーティリティを使用します。 このユーティリティは、各 SQL インスタンスの Python フォルダーにあります。
<SQL インスタンス パス>\PYTHON_SERVICES.n.n\Lib\site-packages\revoscalepy\rxLibs\RegisterRExt.exe
注意
この記事で説明している機能は、SQL CU に含まれている RegisterRExt.exe のコピーでのみ使用できます。 元の SQL インストールに付属するコピーは使用しないでください。
Python ランタイム バージョンを変更するには、次のコマンド ライン引数を RegisterRext.exe に渡します。
/configure
- 必須。既定の Python バージョンを構成していることを示します。/python
- 既定の Python バージョンを構成していることを示します。/pythonhome
を指定した場合は、省略可能です。/instance:
<インスタンス名> - 省略可能。構成するインスタンスです。 指定しない場合、既定のインスタンスが構成されます。/pythonhome:
<PYTHON_SERVICES[n.n] フォルダーのパス> - 省略可能。既定の Python バージョンとして設定するランタイム バージョン フォルダーへのパスです。/pythonhome を指定しない場合、構成されるパスは RegisterRExt.exe が配置されているパスになります。
例
たとえば、SQL Server 2017 でインスタンス MSSQLSERVER01 に対し Python の既定のバージョンとして Python 3.7 を構成するには、次のようにします。
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
この例では、RegisterRext.exe が配置されているフォルダーと同じフォルダーを指定しているため、/pythonhome
引数を含める必要はありません。
ランタイム バージョンを削除する
R または Python のバージョンを削除するには、前述のものと同じ /rhome
、/pythonhome
、および /instance
引数を使用して、/cleanup
コマンドライン引数と共に RegisterRExt.exe を使用します。
たとえば、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 ランタイムのクリーンアップを確認するように求める次のメッセージが表示されます。
Are you sure you want to permanently delete the given runtime along with all the packages installed on it? (指定されたランタイムと、それにインストールされているすべてのパッケージを完全に削除しますか?) [Yes(Y)/No(N)/Default(Yes)] (はい (Y)/いいえ (N)/既定 (はい)):
確認するには、Y
と回答するか、Enter キーを押します。 または、/y
または /Yes
を /cleanup
オプションと共に渡すことで、このプロンプトをスキップすることもできます。
注意
バージョンを削除できるのは、それが既定値として構成されておらず、現在 RegisterRext.exe の実行に使用されていない場合のみです。