패키지 및 런타임 관리하기¶
Snowflake Notebooks는 Snowflake Container Runtime 기반으로 확장 가능한 AI/ML 개발에 최적화된 사전 구축된 컨테이너 환경 내에서 실행됩니다.
Python 버전¶
Snowflake Notebooks support Python versions from 3.10 to 3.12. When creating a notebook service, select the Python version that best fits your workload requirements.
사전 설치된 Snowflake Container Runtime 패키지¶
Snowflake Container Runtime 버전 2.2에는 Snowflake 내부의 다양한 ML 개발 작업을 지원하는 약 100개의 패키지 및 라이브러리가 포함되어 있습니다.
다음 섹션에는 Snowflake Container Runtime 버전 :code:`2.2`의 각 Python 버전에 사용할 수 있는 사전 설치된 패키지(환경당 40개 항목)의 선별된 하위 세트가 나열되어 있습니다.
참고
현재 노트북 환경에 사전 설치된 패키지의 전체 목록을 보려면 Python 셀 또는 노트북 터미널에서 :code:`pip freeze`를 실행합니다.
CPU 버전 2.2¶
다음은 CPU 버전 :code:`2.2`의 각 Python 버전에 사용할 수 있는 패키지입니다.
CPU Container Runtime Python 3.10 버전 :code:`2.2`에는 다음과 같은 패키지가 포함되어 있습니다.
패키지 |
버전 |
|---|---|
absl-py |
2.3.1 |
aiobotocore |
2.26.0 |
aiohappyeyeballs |
2.6.1 |
aiohttp |
3.13.3 |
aiohttp-cors |
0.8.1 |
aioitertools |
0.13.0 |
aiosignal |
1.4.0 |
altair |
5.5.0 |
annotated-doc |
0.0.4 |
annotated-types |
0.7.0 |
anyio |
4.12.1 |
appdirs |
1.4.4 |
argon2-cffi |
25.1.0 |
argon2-cffi-bindings |
25.1.0 |
arrow |
1.4.0 |
arviz |
0.23.1 |
asn1crypto |
1.5.1 |
asttokens |
3.0.1 |
async-lru |
2.1.0 |
async-timeout |
5.0.1 |
attrs |
25.4.0 |
babel |
2.17.0 |
bayesian-optimization |
1.5.1 |
beautifulsoup4 |
4.14.3 |
bleach |
6.3.0 |
blinker |
1.9.0 |
boto3 |
1.41.5 |
botocore |
1.41.5 |
cachetools |
5.5.2 |
CausalPy |
0.5.0 |
certifi |
2026.1.4 |
cffi |
1.17.1 |
charset-normalizer |
3.4.4 |
click |
8.2.1 |
clikit |
0.6.2 |
cloudpickle |
3.1.1 |
cmdstanpy |
1.3.0 |
colorama |
0.4.6 |
colorful |
0.5.8 |
comm |
0.2.3 |
CPU Container Runtime Python 3.11 버전 :code:`2.2`에는 다음과 같은 패키지가 포함되어 있습니다.
패키지 |
버전 |
|---|---|
absl-py |
2.3.1 |
aiobotocore |
2.26.0 |
aiohappyeyeballs |
2.6.1 |
aiohttp |
3.13.3 |
aiohttp-cors |
0.8.1 |
aioitertools |
0.13.0 |
aiosignal |
1.4.0 |
altair |
5.5.0 |
annotated-doc |
0.0.4 |
annotated-types |
0.7.0 |
anyio |
4.12.1 |
appdirs |
1.4.4 |
argon2-cffi |
25.1.0 |
argon2-cffi-bindings |
25.1.0 |
arrow |
1.4.0 |
arviz |
0.23.1 |
asn1crypto |
1.5.1 |
asttokens |
3.0.1 |
async-lru |
2.1.0 |
attrs |
25.4.0 |
babel |
2.17.0 |
bayesian-optimization |
1.5.1 |
beautifulsoup4 |
4.14.3 |
better_optimize |
0.2.0 |
bleach |
6.3.0 |
blinker |
1.9.0 |
boto3 |
1.41.5 |
botocore |
1.41.5 |
cachetools |
5.5.2 |
CausalPy |
0.7.0 |
certifi |
2026.1.4 |
cffi |
1.17.1 |
charset-normalizer |
3.4.4 |
click |
8.2.1 |
clikit |
0.6.2 |
cloudpickle |
3.1.1 |
cmdstanpy |
1.3.0 |
colorama |
0.4.6 |
colorful |
0.5.8 |
comm |
0.2.3 |
CPU Container Runtime Python 3.12 버전 :code:`2.2`에는 다음과 같은 패키지가 포함되어 있습니다.
패키지 |
버전 |
|---|---|
absl-py |
2.3.1 |
accelerate |
1.12.0 |
aiobotocore |
2.26.0 |
aiohappyeyeballs |
2.6.1 |
aiohttp |
3.13.3 |
aiohttp-cors |
0.8.1 |
aioitertools |
0.13.0 |
aiosignal |
1.4.0 |
altair |
5.5.0 |
annotated-doc |
0.0.4 |
annotated-types |
0.7.0 |
anyio |
4.12.1 |
appdirs |
1.4.4 |
argon2-cffi |
25.1.0 |
argon2-cffi-bindings |
25.1.0 |
arrow |
1.4.0 |
arviz |
0.23.1 |
asn1crypto |
1.5.1 |
asttokens |
3.0.1 |
async-lru |
2.1.0 |
attrs |
25.4.0 |
babel |
2.17.0 |
bayesian-optimization |
1.5.1 |
beautifulsoup4 |
4.14.3 |
better_optimize |
0.2.0 |
bleach |
6.3.0 |
blinker |
1.9.0 |
boto3 |
1.41.5 |
botocore |
1.41.5 |
cachetools |
5.5.2 |
CausalPy |
0.7.0 |
certifi |
2026.1.4 |
cffi |
1.17.1 |
charset-normalizer |
3.4.4 |
click |
8.2.1 |
clikit |
0.6.2 |
cloudpickle |
3.1.1 |
cmdstanpy |
1.3.0 |
colorama |
0.4.6 |
colorful |
0.5.8 |
GPU 버전 2.2¶
다음은 GPU 버전 :code:`2.2`의 각 Python 버전에 사용할 수 있는 패키지입니다.
GPU Container Runtime Python 3.10 버전 :code:`2.2`에는 다음과 같은 패키지가 포함되어 있습니다.
패키지 |
버전 |
|---|---|
absl-py |
2.3.1 |
accelerate |
1.12.0 |
aiobotocore |
2.26.0 |
aiohappyeyeballs |
2.6.1 |
aiohttp |
3.13.3 |
aiohttp-cors |
0.8.1 |
aioitertools |
0.13.0 |
aiosignal |
1.4.0 |
airportsdata |
20250909 |
altair |
5.5.0 |
annotated-doc |
0.0.4 |
annotated-types |
0.7.0 |
anyio |
4.12.1 |
appdirs |
1.4.4 |
argon2-cffi |
25.1.0 |
argon2-cffi-bindings |
25.1.0 |
arrow |
1.4.0 |
arviz |
0.23.1 |
asn1crypto |
1.5.1 |
astor |
0.8.1 |
asttokens |
3.0.1 |
async-lru |
2.1.0 |
async-timeout |
5.0.1 |
attrs |
25.4.0 |
babel |
2.17.0 |
bayesian-optimization |
1.5.1 |
beautifulsoup4 |
4.14.3 |
blake3 |
1.0.8 |
bleach |
6.3.0 |
blinker |
1.9.0 |
boto3 |
1.41.5 |
botocore |
1.41.5 |
cachetools |
5.5.2 |
CausalPy |
0.5.0 |
certifi |
2026.1.4 |
cffi |
1.17.1 |
charset-normalizer |
3.4.4 |
click |
8.2.1 |
clikit |
0.6.2 |
cloudpickle |
3.1.1 |
GPU Container Runtime Python 3.11 버전 :code:`2.2`에는 다음과 같은 패키지가 포함되어 있습니다.
패키지 |
버전 |
|---|---|
absl-py |
2.3.1 |
accelerate |
1.12.0 |
aiobotocore |
2.26.0 |
aiohappyeyeballs |
2.6.1 |
aiohttp |
3.13.3 |
aiohttp-cors |
0.8.1 |
aioitertools |
0.13.0 |
aiosignal |
1.4.0 |
airportsdata |
20250909 |
altair |
5.5.0 |
annotated-doc |
0.0.4 |
annotated-types |
0.7.0 |
anyio |
4.12.1 |
appdirs |
1.4.4 |
argon2-cffi |
25.1.0 |
argon2-cffi-bindings |
25.1.0 |
arrow |
1.4.0 |
arviz |
0.23.1 |
asn1crypto |
1.5.1 |
astor |
0.8.1 |
asttokens |
3.0.1 |
async-lru |
2.1.0 |
attrs |
25.4.0 |
babel |
2.17.0 |
bayesian-optimization |
1.5.1 |
beautifulsoup4 |
4.14.3 |
better_optimize |
0.2.0 |
blake3 |
1.0.8 |
bleach |
6.3.0 |
blinker |
1.9.0 |
boto3 |
1.41.5 |
botocore |
1.41.5 |
cachetools |
5.5.2 |
CausalPy |
0.7.0 |
certifi |
2026.1.4 |
cffi |
1.17.1 |
charset-normalizer |
3.4.4 |
click |
8.2.1 |
clikit |
0.6.2 |
cloudpickle |
3.1.1 |
GPU Container Runtime Python 3.12 버전 :code:`2.2`에는 다음과 같은 패키지가 포함되어 있습니다.
패키지 |
버전 |
|---|---|
absl-py |
2.3.1 |
accelerate |
1.12.0 |
aiobotocore |
2.26.0 |
aiohappyeyeballs |
2.6.1 |
aiohttp |
3.13.3 |
aiohttp-cors |
0.8.1 |
aioitertools |
0.13.0 |
aiosignal |
1.4.0 |
airportsdata |
20250909 |
altair |
5.5.0 |
annotated-doc |
0.0.4 |
annotated-types |
0.7.0 |
anyio |
4.12.1 |
appdirs |
1.4.4 |
argon2-cffi |
25.1.0 |
argon2-cffi-bindings |
25.1.0 |
arrow |
1.4.0 |
arviz |
0.23.1 |
asn1crypto |
1.5.1 |
astor |
0.8.1 |
asttokens |
3.0.1 |
async-lru |
2.1.0 |
attrs |
25.4.0 |
babel |
2.17.0 |
bayesian-optimization |
1.5.1 |
beautifulsoup4 |
4.14.3 |
better_optimize |
0.2.0 |
blake3 |
1.0.8 |
bleach |
6.3.0 |
blinker |
1.9.0 |
boto3 |
1.41.5 |
botocore |
1.41.5 |
cachetools |
5.5.2 |
CausalPy |
0.7.0 |
certifi |
2026.1.4 |
cffi |
1.17.1 |
charset-normalizer |
3.4.4 |
click |
8.2.1 |
clikit |
0.6.2 |
cloudpickle |
3.1.1 |
추가 패키지 설치하기¶
Snowflake는 여러 소스에서 패키지 설치를 지원합니다.
외부 리포지토리에서¶
보안 리포지토리 액세스를 위해 외부 액세스 통합(EAIs)을 구성한 후 PyPI과 같은 외부 소스에서 직접 패키지를 설치할 수 있습니다. 사용자는 사전 설치된 런타임 외에도 포괄적인 패키지 에코시스템에 액세스할 수 있으므로 외부 리포지토리에 안전하게 연결할 수 있습니다.
Python 셀 또는 노트북 터미널에서 :code:`pip install`을 실행할 수 있습니다.
자세한 내용은 Snowflake Notebooks 에 대한 외부 액세스 설정 섹션을 참조하십시오.
:file:`requirements.txt`에서¶
requirements.txt 파일에서 필수 패키지 버전을 지정하고 설치하여 일관된 환경 설정을 보장할 수 있습니다. 다음 명령을 사용하여 설치합니다.
!pip install -r requirements.txt
작업 공간 파일에서¶
.whl 또는 .py 파일을 다운로드하거나 빌드하고, 작업 공간에 업로드하고, 설치하거나 가져올 수 있습니다.
Wheel 파일(.whl):
.whl파일을 생성하고 설치합니다.!pip install file_name.whl
패키지에 아직 설치되지 않은 종속성이 포함된 경우 전체 종속성 트리를 작업공간 또는 스테이지에 직접 업로드합니다. 또는 패키지를 다운로드할 수 있는 리포지토리(예: PyPI)에 액세스할 수 있는 EAI를 첨부합니다.
Python 파일(.py): 작업 공간에 저장된 모듈을 직접 가져와 노트북 전체에서 유틸리티와 함수를 공유할 수 있습니다. 예를 들면 다음과 같습니다.
from my_utils import my_func
Snowflake 스테이지에서¶
스테이지는 패키지 파일에 대한 기존 Snowflake 데이터 저장소 및 거버넌스 제어를 활용하여 안전하고 관리되는 패키지 배포를 제공합니다. Snowpark 세션을 사용하여 Snowflake 스테이지에서 패키지 파일을 검색하여 컨테이너 환경으로 가져와 사용할 수 있습니다. 예:
from snowflake.snowpark.context import get_active_session
import sys
session = get_active_session()
session.file.get("@db.schema.stage_name/math_tools.py", "/tmp")
sys.path.append("/tmp")
import math_tools
math_tools.add_one(3)
런타임 관리¶
런타임 고정¶
모든 노트북 서비스는 서비스를 편집하여 명시적으로 변경하지 않는 한, 생성 시 선택한 런타임에 고정됩니다. 예를 들어, :code:`Runtime 2.0`에 생성된 노트북 서비스는 새 런타임 버전이 출시될 때 자동으로 업그레이드되지 않습니다.
런타임 취약점 스캔¶
Snowflake는 매일 런타임 이미지에 보안 취약점이 있는지 검사합니다. 위험도가 높거나 심각한 공통 취약점 및 노출(CVEs)은 감지 후 30일 이내에 새 런타임 버전을 릴리스하여 해결됩니다.
기존 노트북 서비스는 CVEs가 감지된 상태에서 런타임을 계속 사용할 수 있습니다. 그러나 CVEs가 알려진 런타임은 새 노트북 서비스를 생성할 때 선택할 수 없습니다.