Python 패키지 정보 가져오기Get 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) 이상 예Azure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure 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 예Azure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance

이 문서에서는 SQL Server Machine Learning Services빅 데이터 클러스터에서 버전 및 설치 위치를 포함하여 설치된 Python 패키지에 대한 정보를 가져오는 방법을 설명합니다.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.

이 문서에서는 SQL Server Machine Learning Services에서 버전 및 설치 위치를 포함하여 설치된 Python 패키지에 대한 정보를 가져오는 방법을 설명합니다.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.

이 문서에서는 Azure SQL Managed Instance Machine Learning Services에서 버전 및 설치 위치를 포함하여 설치된 Python 패키지에 대한 정보를 가져오는 방법을 설명합니다.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 Managed Instance에서 sp_configure 및 RECONFIGURE 명령을 실행하면 RG 설정을 적용하기 위해 SQL Server 다시 시작이 트리거됩니다.On Azure SQL Managed Instance, running the sp_configure and RECONFIGURE commands triggers a SQL server restart for the RG settings to take effect. 이 경우 몇 초 동안 사용이 불가능할 수 있습니다.This can cause a few seconds of unavailability.

현재 인스턴스의 기본 라이브러리를 확인하려면 다음 SQL 문을 실행합니다.Run the following SQL statement if you want to verify the default library for the current instance. 이 예제에서는 Python sys.path 변수에 포함된 폴더 목록을 반환합니다.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.

注意

pip 또는 유사한 메서드를 사용하여 SQL 패키지 라이브러리에 직접 Python 패키지를 설치하지 마세요.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. 자세한 내용은 sqlmlutils를 사용하여 Python 패키지 설치를 참조하세요.For more information, see Install Python packages with sqlmlutils.

기본 Microsoft Python 패키지Default Microsoft Python packages

설치하는 동안 Python 기능을 선택하면 다음 Microsoft Python 패키지가 SQL Server Machine Learning Services와 함께 설치됩니다.The following Microsoft Python packages are installed with SQL Server Machine Learning Services when you select the Python feature during setup.

패키지Packages 버전Version DescriptionDescription
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.

자세한 내용은 SQL Server에서 R 및 Python 구성 요소업그레이드를 참조하세요.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.

重要

SQL Server 설치 프로그램을 통해 설치된 Python 버전을 웹의 최신 버전으로 수동으로 덮어쓰지 않도록 합니다.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.

설치된 모든 Python 패키지 나열List all installed Python packages

다음 예제 스크립트는 SQL Server 인스턴스에 설치된 모든 Python 패키지 목록을 표시합니다.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)));

단일 Python 패키지 찾기Find 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

Python 버전 보기View the version of Python

다음 예제 코드는 SQL Server 인스턴스에 설치된 Python 버전을 반환합니다.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