패키지 및 런타임 관리하기

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

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

추가 패키지 설치하기

Snowflake는 여러 소스에서 패키지 설치를 지원합니다.

외부 리포지토리에서

보안 리포지토리 액세스를 위해 외부 액세스 통합(EAIs)을 구성한 후 PyPI과 같은 외부 소스에서 직접 패키지를 설치할 수 있습니다. 사용자는 사전 설치된 런타임 외에도 포괄적인 패키지 에코시스템에 액세스할 수 있으므로 외부 리포지토리에 안전하게 연결할 수 있습니다.

Python 셀 또는 노트북 터미널에서 :code:`pip install`을 실행할 수 있습니다.

자세한 내용은 Snowflake Notebooks 에 대한 외부 액세스 설정 섹션을 참조하십시오.

:file:`requirements.txt`에서

requirements.txt 파일에서 필수 패키지 버전을 지정하고 설치하여 일관된 환경 설정을 보장할 수 있습니다. 다음 명령을 사용하여 설치합니다.

!pip install -r requirements.txt
Copy

참고

:file:`requirements.txt`에 지정된 패키지 버전이 :ref:`사전 설치된 패키지 <label-container_runtime_for_ml_packages>`의 지원되는 버전과 충돌하는 경우 Python 환경이 중단될 수 있습니다. 설치하기 전에 호환성을 확인합니다.

작업 공간 파일에서

.whl 또는 .py 파일을 다운로드하거나 빌드하고, 작업 공간에 업로드하고, 설치하거나 가져올 수 있습니다.

  • Wheel 파일(.whl): .whl 파일을 생성하고 설치합니다.

    !pip install file_name.whl
    
    Copy

    패키지에 아직 설치되지 않은 종속성이 포함된 경우 전체 종속성 트리를 작업공간 또는 스테이지에 직접 업로드합니다. 또는 패키지를 다운로드할 수 있는 리포지토리(예: PyPI)에 액세스할 수 있는 EAI를 첨부합니다.

  • Python 파일(.py): 작업 공간에 저장된 모듈을 직접 가져와 노트북 전체에서 유틸리티와 함수를 공유할 수 있습니다. 예를 들면 다음과 같습니다.

    from my_utils import my_func
    
    Copy

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)
Copy

런타임 관리

런타임 고정

모든 노트북 서비스는 서비스를 편집하여 명시적으로 변경하지 않는 한, 생성 시 선택한 런타임에 고정됩니다. 예를 들어, :code:`Runtime 2.0`에 생성된 노트북 서비스는 새 런타임 버전이 출시될 때 자동으로 업그레이드되지 않습니다.

런타임 취약점 스캔

Snowflake는 매일 런타임 이미지에 보안 취약점이 있는지 검사합니다. 위험도가 높거나 심각한 공통 취약점 및 노출(CVEs)은 감지 후 30일 이내에 새 런타임 버전을 릴리스하여 해결됩니다.

기존 노트북 서비스는 CVEs가 감지된 상태에서 런타임을 계속 사용할 수 있습니다. 그러나 CVEs가 알려진 런타임은 새 노트북 서비스를 생성할 때 선택할 수 없습니다.