Получение сведений о пакете PythonGet Python package information

Применимо к:Applies to: даSQL Server 2017 (14.x);SQL Server 2017 (14.x)yesSQL Server 2017 (14.x);SQL Server 2017 (14.x) и более поздние версии ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed InstanceПрименимо к:Applies to: даSQL Server 2017 (14.x);SQL Server 2017 (14.x)yesSQL Server 2017 (14.x);SQL Server 2017 (14.x) and later ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed Instance

В этой статье описывается, как получить сведения об установленных пакетах Python, включая версии и расположения установки, в Службах машинного обучения SQL Server и кластерах больших данных.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. Примеры сценариев Python показывают, как получить сведения о пакете, например путь установки и версия.Example Python scripts show you how to list package information such as installation path and version.

В этой статье описывается, как получить сведения об установленных пакетах Python, включая версии и расположения установки, в Службах машинного обучения SQL Server.This article describes how to get information about installed Python packages, including versions and installation locations, on SQL Server Machine Learning Services. Примеры сценариев Python показывают, как получить сведения о пакете, например путь установки и версия.Example Python scripts show you how to list package information such as installation path and version.

В этой статье описывается, как получить сведения об установленных пакетах Python, включая версии и расположения установки, в Службах машинного обучения управляемого экземпляра SQL Azure.This article describes how to get information about installed Python packages, including versions and installation locations, on Azure SQL Managed Instance Machine Learning Services. Примеры сценариев Python показывают, как получить сведения о пакете, например путь установки и версия.Example Python scripts show you how to list package information such as installation path and version.

Расположение библиотеки Python по умолчаниюDefault Python library location

При установке машинного обучения с помощью SQL Server на уровне экземпляра создается отдельная библиотека пакетов для каждого устанавливаемого языка.When you install machine learning with SQL Server, a single package library is created at the instance level for each language that you install. Библиотека экземпляров является защищенной папкой, зарегистрированной в SQL Server.The instance library is a secured folder registered with SQL Server.

Все скрипты или код, выполняемые в базе данных на SQL Server, должны загружать функции из библиотеки экземпляров.All script or code that runs in-database on SQL Server must load functions from the instance library. SQL Server не может получить доступ к пакетам, установленным в других библиотеках.SQL Server can't access packages installed to other libraries. Это относится и к удаленным клиентам: любой код Python, выполняющийся в контексте вычислений сервера, может использовать только пакеты, установленные в библиотеке экземпляров.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. Для защиты серверных ресурсов библиотека экземпляров по умолчанию может быть изменена только администратором компьютера.To protect server assets, the default instance library can be modified only by a computer administrator.

Путь по умолчанию к двоичным файлам для Python:The default path of the binaries for Python is:

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

Предполагается, что экземпляр SQL по умолчанию — MSSQLSERVER.This assumes the default SQL instance, MSSQLSERVER. Если SQL Server устанавливается как определяемый пользователем именованный экземпляр, вместо него используется указанное имя.If SQL Server is installed as a user-defined named instance, the given name is used instead.

Путь по умолчанию к двоичным файлам для Python:The default path of the binaries for Python is:

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

Предполагается, что экземпляр SQL по умолчанию — MSSQLSERVER.This assumes the default SQL instance, MSSQLSERVER. Если SQL Server устанавливается как определяемый пользователем именованный экземпляр, вместо него используется указанное имя.If SQL Server is installed as a user-defined named instance, the given name is used instead.

Включите внешние скрипты, выполнив следующие команды SQL:Enable external scripts by running the following SQL commands:

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

Выполните приведенную ниже инструкцию SQL, чтобы проверить библиотеку по умолчанию для текущего экземпляра.Run the following SQL statement if you want to verify the default library for the current instance. Этот пример возвращает список папок, включенных в переменную sys.path Python.This example returns the list of folders included in the Python sys.path variable. Список содержит текущий каталог и путь к стандартной библиотеке.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))'

Дополнительные сведения о переменной sys.path и о том, как она используется для задания пути поиска для модулей, см. в разделе Путь поиска модуля.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.

Примечание

Не пытайтесь установить пакеты Python непосредственно в библиотеке пакетов SQL с помощью pip или аналогичных методов.Don't try to install Python packages directly in the SQL package library using pip or similar methods. Вместо этого используйте sqlmlutils для установки пакетов в экземпляре SQL.Instead, use sqlmlutils to install packages in a SQL instance. Дополнительные сведения см. в статье Установка пакетов Python с помощью sqlmlutils.For more information, see Install Python packages with sqlmlutils.

Пакеты Microsoft Python по умолчаниюDefault Microsoft Python packages

Приведенные ниже пакеты Python устанавливаются вместе со Службами машинного обучения SQL Server, если во время установки выбран компонент Python.The following Microsoft Python packages are installed with SQL Server Machine Learning Services when you select the Python feature during setup.

ПакетыPackages ВерсияVersion ОписаниеDescription
revoscalepyrevoscalepy 9.4.79.4.7 Используется для удаленных контекстов вычислений, потоковой передачи, параллельного выполнения функций rx для импорта и преобразования, моделирования, визуализации и анализа данных.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 Добавляет алгоритмы машинного обучения в Python.Adds machine learning algorithms in Python.

Сведения о том, какая версия Python включена, приведены в разделе Версии Python и R.For information on which version of Python is included, see Python and R versions.

Обновление компонентовComponent upgrades

По умолчанию пакеты Python обновляются с помощью пакетов обновления и накопительных пакетов обновления.By default, Python packages are refreshed through service packs and cumulative updates. Дополнительные пакеты и обновление полных версий компонентов Python можно применять только путем обновления продукта или привязки поддержки Python к 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.

Дополнительные сведения см. в разделе Обновление компонентов R и Python в SQL Server.For more information, see Upgrade R and Python components in SQL Server.

Пакеты Python с открытым кодом по умолчаниюDefault open-source Python packages

При выборе языка Python во время установки устанавливается дистрибутив Anaconda 4.2 (через Python 3.5).When you select the Python language option during setup, Anaconda 4.2 distribution (over Python 3.5) is installed. В дополнение к библиотекам кода Python стандартная установка включает примеры данных, модульные тесты и примеры сценариев.In addition to Python code libraries, the standard installation includes sample data, unit tests, and sample scripts.

Важно!

Никогда не следует вручную перезаписывать версию Python, установленную программой установки SQL Server, более новыми версиями в Интернете.You should never manually overwrite the version of Python installed by SQL Server Setup with newer versions on the web. Пакеты Microsoft Python основаны на конкретных версиях Anaconda.Microsoft Python packages are based on specific versions of Anaconda. Изменение установки может привести к дестабилизации.Modifying your installation could destabilize it.

Просмотр всех установленных пакетов PythonList all installed Python packages

Приведенный ниже пример сценария отображает список всех пакетов Python, установленных в экземпляре 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 as pd
installed_packages = pkg_resources.working_set
installed_packages_list = sorted(["%s==%s" % (i.key, i.version) for i in installed_packages])
df = pd.DataFrame(installed_packages_list)
OutputDataSet = df
'
WITH RESULT SETS (( PackageVersion nvarchar (150) ))

Поиск одного пакета PythonFind a single Python package

Если вы установили пакет Python и хотите убедиться, что он доступен для конкретного экземпляра SQL Server, можно выполнить хранимую процедуру, которая ищет этот пакет и отображает соответствующие сообщения.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.

Например, следующий код ищет пакет scikit-learn.For example, the following code looks for the scikit-learn package. Если пакет найден, код выводит версию пакета.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")
'

Результат:Result:

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

Просмотр версии PythonView the version of Python

Следующий пример кода возвращает версию Python, установленную в экземпляре 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)
'

Дальнейшие действияNext steps