- 카테고리:
:doc:`/sql-reference/functions-system`(시스템 함수)
SYSTEM$RESOLVE_PYTHON_PACKAGES¶
지정된 Python 패키지에 대해 확인된 종속성과 해당 버전의 목록을 반환합니다. 이 함수는 Anaconda 및 Artifact Repository(PyPI) 패키지 모두에서 작동합니다.
구문¶
SYSTEM$RESOLVE_PYTHON_PACKAGES( '<python_version>', '<package_spec_string>', ['<artifact_repository_name>'] )
인자¶
python_versionPython 런타임 버전을 지정하는 문자열입니다(예: ‘3.12’).
package_spec_stringPACKAGES 절 형식의 패키지 사양입니다(예:
$$('numpy>=1.20.0', 'pandas==1.3.0')$$). :code:`$$()$$`를 사용하여 기본 패키지(Python 런타임 및 해당 종속성)만 반환합니다.artifact_repository_name선택 사항입니다. 아티팩트 리포지토리 이름을 지정하는 문자열입니다(예: ‘snowflake.snowpark.pypi_shared_repository’). 제공되지 않거나 비어 있는 경우 기본 Anaconda 리포지토리를 사용합니다.
반환¶
확인된 패키지와 해당 종속성을 포함하는 JSON 배열을 반환합니다. 배열의 각 요소는 다음 형식의 문자열입니다. <package_name>==<version_name>. 결과에는 항상 기본 패키지(예: Python 런타임 및 시스템 라이브러리)가 포함됩니다.
액세스 제어 요구 사항¶
이 함수는 모든 사용자가 호출할 수 있습니다. 특별한 권한이 필요하지 않습니다.
사용법 노트¶
예¶
**예 1: Anaconda에서 패키지 확인하기*
다음 예제에서는 기본 Anaconda 리포지토리에서 Python 3.12 런타임이 포함된 numpy 및 pandas Python 패키지의 종속성 목록을 반환합니다.
SELECT SYSTEM$RESOLVE_PYTHON_PACKAGES('3.12', $$('numpy>=1.20.0', 'pandas==1.3.0')$$);
결과는 종속성 및 해당 버전의 목록입니다.
["_libgcc_mutex==0.1", "_openmp_mutex==5.1", "blas==1.0", "ca-certificates==2024.9.24",
"intel-openmp==2023.1.0", "libffi==3.4.4", "libgcc-ng==11.2.0", "numpy==1.24.3",
"pandas==1.5.3", "python==3.12.20", "readline==8.2", "sqlite==3.45.3", ...]
예제 2: Artifact Repository(PyPI)에서 패키지 확인하기**
다음 예제에서는 PyPI 아티팩트 리포지토리에서 scikit-learn 패키지를 확인합니다.
SELECT SYSTEM$RESOLVE_PYTHON_PACKAGES('3.12', $$('scikit-learn')$$, 'snowflake.snowpark.pypi_shared_repository');
예 3: 기본 패키지만 가져오기
다음 예제에서는 Python 3.12의 기본 패키지만 반환합니다.
SELECT SYSTEM$RESOLVE_PYTHON_PACKAGES('3.12', $$()$$);
결과에는 Python 런타임 및 시스템 종속성이 포함됩니다.
["_libgcc_mutex==0.1", "ca-certificates==2024.9.24", "libffi==3.4.4",
"openssl==3.0.15", "python==3.12.20", "readline==8.2", ...]
참고 항목¶
SHOW_PYTHON_PACKAGES_DEPENDENCIES - Anaconda 패키지에 대한 종속성만 반환(ACCOUNTADMIN역할 필요)
패키지 정책 - Python용 패키지 정책
서드 파티 패키지 사용하기 - UDFs에서 Python 패키지 사용하기