Condividi tramite


Modificare la versione predefinita del runtime dei linguaggi R o Python

Si applica a: SQL Server 2016 (13.x) SQL Server 2017 (14.x)

Questo articolo descrive come modificare la versione predefinita di R o Python usata in R Services per SQL Server 2016 o SQL Server 2017 Machine Learning Services.

Di seguito sono elencate le versioni del runtime R e Python incluse nelle diverse versioni di SQL Server.

Versione di SQL Server Service Aggiornamento cumulativo Versioni di runtime R Versione runtime di Python
SQL Server 2016 Servizi R RTM - SP2 CU13 3.2.2 Non disponibile
SQL Server 2016 Servizi R SP2 CU14 e versioni successive 3.2.2 e 3.5.2 Non disponibile
SQL Server 2017 Machine Learning Services RTM - CU21 3.3.3 3.5.2
SQL Server 2017 Machine Learning Services CU22 e versioni successive 3.3.3 e 3.5.2 3.5.2 e 3.7.2

Prerequisiti

È necessario installare un aggiornamento cumulativo per modificare la versione predefinita del runtime del linguaggio R o Python:

  • SQL Server 2016: Service Pack (SP) 2 aggiornamento cumulativo (CU) 14 o versione successiva
  • SQL Server 2017: con aggiornamento cumulativo (CU) 22 o versione successiva

Per scaricare l'aggiornamento cumulativo più recente, vedere gli Aggiornamenti più recenti per Microsoft SQL Server.

Nota

Se l'aggiornamento cumulativo viene integrato con una nuova installazione di SQL Server, verranno installate solo le versioni più recenti del runtime R e Python.

Modificare la versione del runtime R

Se è stato installato uno degli aggiornamenti cumulativi precedenti per SQL Server 2016 o 2017, è possibile che siano presenti più versioni di R in un'istanza di SQL. Ogni versione è contenuta in una sottocartella della cartella dell'istanza con il nome R_SERVICES.<major>.<minor> (la cartella dell'installazione originale potrebbe non avere un numero di versione aggiunto al nome della cartella).

Se si installa un aggiornamento cumulativo contenente R 3.5, la nuova cartella 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

Ogni istanza di SQL usa una di queste versioni come versione predefinita di R. È possibile modificare la versione predefinita usando l'utilità della riga di comando RegisterRext.exe. L'utilità si trova nella cartella R in ogni istanza di SQL:

<Percorso dell'istanza di SQL>\R_SERVICES.n.n\library\RevoScaleR\rxLibs\x64\RegisterRext.exe

Nota

La funzionalità descritta in questo articolo è disponibile solo con la copia di RegisterRext.exe inclusa negli aggiornamenti cumulativi di SQL. Non usare la copia fornita con l'installazione di SQL originale.

Per modificare la versione del runtime R, passare gli argomenti della riga di comando seguenti a RegisterRext.exe:

  • /configure -obbligatorio, specifica che si sta configurando la versione di R predefinita.

  • /instance:<nome istanza> - facoltativo, ovvero l'istanza che si desidera configurare. In assenza di specificazioni viene configurata l'istanza predefinita.

  • /rhome:<percorso della cartella R_SERVICES[n.n] folder> - facoltativo, percorso alla cartella della versione di runtime che si desidera impostare come versione di R predefinita.

    Se non si specifica /rhome, il percorso configurato è il percorso in cui si trova RegisterRext.exe.

Esempi

Di seguito sono riportati alcuni esempi su come modificare la versione del runtime R in SQL Server 2016 e 2017.

Modificare la versione del runtime R in SQL Server 2016

Ad esempio, per configurare R 3.5 come versione predefinita di R per l'istanza MSSQLSERVER01 in 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

Modificare la versione del runtime R in SQL Server 2017

Ad esempio, per configurare R 3.5 come versione predefinita di R per l'istanza MSSQLSERVER01 in 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

In questi esempi non è necessario includere l'argomento /rhome perché si sta specificando la stessa cartella in cui si trova RegisterRext.exe.

Modificare la versione runtime di Python

Se è stato installato CU22 o versione successiva per SQL Server 2017, è possibile che siano presenti più versioni di Python in un'istanza di SQL. Ogni versione è contenuta in una sottocartella della cartella dell'istanza con il nome PYTHON_SERVICES.<major>.<minor> (la cartella dell'installazione originale potrebbe non avere un numero di versione aggiunto al nome della cartella).

Se ad esempio si installa un aggiornamento cumulativo contenente Python 3.7, viene creata una nuova cartella PYTHON_SERVICES:

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

Ogni istanza di SQL usa una di queste versioni come versione predefinita di Python. È possibile modificare la versione predefinita usando l'utilità della riga di comando RegisterRExt.exe. L'utilità si trova nella cartella Python in ogni istanza di SQL:

<Percorso dell'istanza SQL>\PYTHON_SERVICES.n.n\Lib\site-packages\revoscalepy\rxLibs\RegisterRExt.exe

Nota

La funzionalità descritta in questo articolo è disponibile solo con la copia di RegisterRExt.exe inclusa negli aggiornamenti cumulativi di SQL. Non usare la copia fornita con l'installazione di SQL originale.

Per modificare la versione del runtime Python, passare gli argomenti della riga di comando seguenti a RegisterRext.exe:

  • /configure -obbligatorio, specifica che si sta configurando la versione di Python predefinita.

  • /python -Specifica che si sta configurando la versione di Python predefinita. Facoltativo se si specifica /pythonhome.

  • /instance:<nome istanza> - facoltativo, ovvero l'istanza che si desidera configurare. In assenza di specificazioni viene configurata l'istanza predefinita.

  • /pythonhome:<percorso della cartella PYTHON_SERVICES[n.n]> - Facoltativo, percorso della cartella della versione di runtime che si desidera impostare come versione di Python predefinita.

    Se non si specifica /pythonhome, il percorso configurato è il percorso in cui si trova RegisterRExt.exe.

Esempio

Ad esempio, per configurare Python 3.7 come versione predefinita di Python per l'istanza MSSQLSERVER01 in 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

In questo esempio non è necessario includere l'argomento /pythonhome perché si sta specificando la stessa cartella in cui si trova RegisterRext.exe.

Rimuovere una versione del runtime

Per rimuovere una versione di R o Python, usare RegisterRExt.exe con l'argomento della riga di comando /cleanup, usando gli stessi argomenti /rhome, /pythonhome e /instance descritti in precedenza.

Ad esempio, per rimuovere la cartella R 3.2 dall'istanza MSSQLSERVER01:

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

Ad esempio, per rimuovere la cartella Python 3.7 dall'istanza MSSQLSERVER01:

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

RegisterRext.exe chiederà di confermare la pulizia del runtime R specificato:

Eliminare definitivamente il runtime specificato insieme a tutti i pacchetti installati su di esso? [Yes(Y)/No(N)/Default(Yes)]:

Per confermare, rispondere Y o premere INVIO. In alternativa, è possibile ignorare questa richiesta passando /y o /Yes lungo l'opzione /cleanup.

Nota

È possibile rimuovere una versione solo se non è configurata come predefinita e non è attualmente usata per eseguire RegisterRext.exe.

Passaggi successivi