Obtención de información de paquetes de PythonGet Python package information

Se aplica a:Applies to: síSQL Server 2017 (14.x)SQL Server 2017 (14.x)yesSQL Server 2017 (14.x)SQL Server 2017 (14.x) y versiones posteriores de SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed InstanceSe aplica a:Applies to: síSQL Server 2017 (14.x)SQL Server 2017 (14.x)yesSQL Server 2017 (14.x)SQL Server 2017 (14.x) and later SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance

En este artículo se describe cómo obtener información sobre los paquetes de Python instalados, incluidas las versiones y las ubicaciones de instalación, en Machine Learning Services en SQL Server y en Clústeres de macrodatos.This article describes how to get information about installed Python packages, including versions and installation locations, on Machine Learning Services on SQL Server and on Big Data Clusters. Los scripts de Python de ejemplo muestran cómo mostrar información de paquetes, como la ruta de instalación y la versión.Example Python scripts show you how to list package information such as installation path and version.

En este artículo se describe cómo obtener información sobre los paquetes de Python instalados, incluidas las versiones y las ubicaciones de instalación, en SQL Server Machine Learning Services.This article describes how to get information about installed Python packages, including versions and installation locations, on SQL Server Machine Learning Services. Los scripts de Python de ejemplo muestran cómo mostrar información de paquetes, como la ruta de instalación y la versión.Example Python scripts show you how to list package information such as installation path and version.

En este artículo se describe cómo obtener información sobre los paquetes de Python instalados, incluidas las versiones y las ubicaciones de instalación, en Machine Learning Services en Azure SQL Managed Instance.This article describes how to get information about installed Python packages, including versions and installation locations, on Azure SQL Managed Instance Machine Learning Services. Los scripts de Python de ejemplo muestran cómo mostrar información de paquetes, como la ruta de instalación y la versión.Example Python scripts show you how to list package information such as installation path and version.

Ubicación predeterminada de las bibliotecas de PythonDefault Python library location

Al instalar Machine Learning con SQL Server, se crea una biblioteca de paquetes en el nivel de instancia para cada idioma que se instale.When you install machine learning with SQL Server, a single package library is created at the instance level for each language that you install. La biblioteca de instancias es una carpeta protegida que está registrada en SQL Server.The instance library is a secured folder registered with SQL Server.

Todo el script o código que se ejecuta en la base de datos en SQL Server debe cargar funciones desde la biblioteca de instancias.All script or code that runs in-database on SQL Server must load functions from the instance library. SQL Server no puede obtener acceso a los paquetes instalados en otras bibliotecas.SQL Server can't access packages installed to other libraries. También se aplica a los clientes remotos: cualquier código de Python que se ejecute en el contexto del proceso del servidor solo puede usar paquetes instalados en la biblioteca de instancias.This applies to remote clients as well: any Python code running in the server compute context can only use packages installed in the instance library. Para proteger los recursos del servidor, la biblioteca de instancias predeterminadas solo la puede modificar un administrador del equipo.To protect server assets, the default instance library can be modified only by a computer administrator.

La ruta de acceso predeterminada de los archivos binarios de Python es:The default path of the binaries for Python is:

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

Se da por sentado que la instancia predeterminada de SQL es MSSQLSERVER.This assumes the default SQL instance, MSSQLSERVER. Si se instala SQL Server como instancia con nombre definida por el usuario, se usará el nombre especificado.If SQL Server is installed as a user-defined named instance, the given name is used instead.

La ruta de acceso predeterminada de los archivos binarios de Python es:The default path of the binaries for Python is:

C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\PYTHON_SERVICES

Se da por sentado que la instancia predeterminada de SQL es MSSQLSERVER.This assumes the default SQL instance, MSSQLSERVER. Si se instala SQL Server como instancia con nombre definida por el usuario, se usará el nombre especificado.If SQL Server is installed as a user-defined named instance, the given name is used instead.

Para habilitar los scripts externos, ejecute los comandos SQL siguientes:Enable external scripts by running the following SQL commands:

sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH override;

Importante

En Azure SQL Managed Instance, la ejecución de los comandos sp_configure y RECONFIGURE desencadena un reinicio de SQL Server para que la configuración de RG surta efecto.On Azure SQL Managed Instance, running the sp_configure and RECONFIGURE commands triggers a SQL server restart for the RG settings to take effect. Esto puede generar unos segundos de no disponibilidad.This can cause a few seconds of unavailability.

Ejecute la instrucción SQL siguiente si quiere comprobar la biblioteca predeterminada de la instancia actual.Run the following SQL statement if you want to verify the default library for the current instance. En este ejemplo se devuelve la lista de carpetas incluidas en la variable sys.path de Python.This example returns the list of folders included in the Python sys.path variable. La lista incluye el directorio actual y la ruta de acceso de la biblioteca estándar.The list includes the current directory and the standard library path.

EXECUTE sp_execute_external_script
  @language =N'Python',
  @script=N'import sys; print("\n".join(sys.path))'

Para obtener más información sobre la variable sys.path y cómo se usa para establecer la ruta de acceso de búsqueda del intérprete para los módulos, consulte The Module Search Path (La ruta de acceso de búsqueda de un módulo).For more information about the variable sys.path and how it's used to set the interpreter's search path for modules, see The Module Search Path.

Nota

No intente instalar paquetes de Python directamente en la biblioteca de paquetes SQL con pip o métodos similares.Don't try to install Python packages directly in the SQL package library using pip or similar methods. En su lugar, use sqlmlutils para instalar paquetes en una instancia de SQL.Instead, use sqlmlutils to install packages in a SQL instance. Para obtener más información, vea Instalación de paquetes de Python con sqlmlutils.For more information, see Install Python packages with sqlmlutils.

Paquetes predeterminados de Python en MicrosoftDefault Microsoft Python packages

Los siguientes paquetes de Python en Microsoft se instalan con SQL Server Machine Learning Services al seleccionar la característica de Python durante la instalación.The following Microsoft Python packages are installed with SQL Server Machine Learning Services when you select the Python feature during setup.

PaquetesPackages VersiónVersion DescripciónDescription
revoscalepyrevoscalepy 9.4.79.4.7 Se usa para los contextos de procesos remotos, streaming, ejecución en paralelo de funciones rx para la importación y transformación de datos, modelado, visualización y análisis.Used for remote compute contexts, streaming, parallel execution of rx functions for data import and transformation, modeling, visualization, and analysis.
microsoftmlmicrosoftml 9.4.79.4.7 Agrega algoritmos de aprendizaje automático en Python.Adds machine learning algorithms in Python.

Para obtener información sobre la versión de Python que se incluye, consulte Versiones de Python y R.For information on which version of Python is included, see Python and R versions.

Actualizaciones de componentesComponent upgrades

De forma predeterminada, los paquetes de Python se actualizan mediante Service Packs y actualizaciones acumulativas.By default, Python packages are refreshed through service packs and cumulative updates. Los paquetes adicionales y las actualizaciones de versión completa de los componentes básicos de Python solo son posibles mediante las actualizaciones de producto o enlazando la compatibilidad de Python con Microsoft Machine Learning Server.Additional packages and full version upgrades of core Python components are possible only through product upgrades or by binding Python support to Microsoft Machine Learning Server.

Para obtener más información, consulte Actualización de componentes de R y Python en SQL Server.For more information, see Upgrade R and Python components in SQL Server.

Paquetes de código abierto predeterminados de PythonDefault open-source Python packages

Al seleccionar la opción de lenguaje de Python durante la instalación, se instala la distribución Anaconda 4.2 (en Python 3.5).When you select the Python language option during setup, Anaconda 4.2 distribution (over Python 3.5) is installed. Además de las bibliotecas de código de Python, la instalación estándar incluye datos de ejemplo, pruebas unitarias y scripts de ejemplo.In addition to Python code libraries, the standard installation includes sample data, unit tests, and sample scripts.

Importante

Nunca debe sobrescribir manualmente la versión de Python instalada por el programa de instalación de SQL Server por versiones más recientes en la web.You should never manually overwrite the version of Python installed by SQL Server Setup with newer versions on the web. Los paquetes de Microsoft Python se basan en versiones específicas de Anaconda.Microsoft Python packages are based on specific versions of Anaconda. La modificación de la instalación podría desestabilizarla.Modifying your installation could destabilize it.

Visualización de todos los paquetes de Python instaladosList all installed Python packages

En el siguiente script de ejemplo se muestra una lista de todos los paquetes de Python instalados en la instancia de SQL Server.The following example script displays a list of all Python packages installed in the SQL Server instance.

EXECUTE sp_execute_external_script
  @language = N'Python',
  @script = N'
import pkg_resources
import pandas
OutputDataSet = pandas.DataFrame(sorted([(i.key, i.version) for i in pkg_resources.working_set]))'
WITH result sets((Package NVARCHAR(128), Version NVARCHAR(128)));

Búsqueda de un único paquete de PythonFind a single Python package

Si ha instalado un paquete de Python y quiere asegurarse de que está disponible para una instancia de SQL Server determinada, puede ejecutar un procedimiento almacenado para buscar el paquete y devolver los mensajes.If you've installed a Python package and want to make sure that it's available to a particular SQL Server instance, you can execute a stored procedure to look for the package and return messages.

Por ejemplo, el código siguiente busca el paquete scikit-learn.For example, the following code looks for the scikit-learn package. Si se encuentra el paquete, el código imprime la versión del paquete.If the package is found, the code prints the package version.

EXECUTE sp_execute_external_script
  @language = N'Python',
  @script = N'
import pkg_resources
pkg_name = "scikit-learn"
try:
    version = pkg_resources.get_distribution(pkg_name).version
    print("Package " + pkg_name + " is version " + version)
except:
    print("Package " + pkg_name + " not found")
'

Resultado:Result:

STDOUT message(s) from external script: Package scikit-learn is version 0.20.2

Vista de la versión de PythonView the version of Python

En el ejemplo de código siguiente se devuelve la versión de Python instalada en la instancia de SQL Server.The following example code returns the version of Python installed in the instance of SQL Server.

EXECUTE sp_execute_external_script
  @language = N'Python',
  @script = N'
import sys
print(sys.version)
'

Pasos siguientesNext steps