Gerenciando pacotes e tempo de execução

O Snowflake Notebooks é executado em um ambiente de contêiner predefinido e otimizado para desenvolvimento de AI/ML escalonável com a tecnologia Snowflake Container Runtime.

Versões 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.

Pacotes do Snowflake Container Runtime pré-instalados

A versão 2.2 do Snowflake Container Runtime inclui aproximadamente 100 pacotes e bibliotecas que oferecem suporte a uma ampla variedade de tarefas de desenvolvimento de ML no Snowflake.

As seções a seguir listam um subconjunto selecionado de pacotes pré-instalados (40 entradas por ambiente) disponíveis para cada versão do Python do Snowflake Container Runtime versão 2.2.

Nota

Para visualizar a lista completa de pacotes pré-instalados para o seu ambiente de notebook atual, execute pip freeze em uma célula Python ou no terminal do notebook.

CPU versão 2.2

Os pacotes a seguir estão disponíveis para cada versão do Python de CPU versão 2.2:

O CPU Container Runtime Python 3.10 versão 2.2 inclui os seguintes pacotes:

Pacote

Versão

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 versão 2.2

Os pacotes a seguir estão disponíveis para cada versão do Python de GPU versão 2.2:

O GPU Container Runtime Python 3.10 versão 2.2 inclui os seguintes pacotes:

Pacote

Versão

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

Instalando pacotes adicionais

O Snowflake oferece suporte à instalação de pacotes de várias fontes.

De repositórios externos

Depois de configurar integrações de acesso externo (External Access Integrations, EAIs) para acesso seguro ao repositório, você poderá instalar pacotes diretamente de fontes externas, como PyPI. Os usuários têm acesso a um ecossistema abrangente de pacotes além do tempo de execução pré-instalado, garantindo conectividade segura a repositórios externos.

Você pode executar pip install em uma célula Python ou no terminal do notebook.

Para obter mais informações, consulte Configurar acesso externo para o Snowflake Notebooks.

Usando requirements.txt

Você pode especificar e instalar as versões de pacote necessárias em um arquivo requirements.txt para garantir uma configuração de ambiente consistente. Instale-as usando o seguinte comando:

!pip install -r requirements.txt
Copy

Nota

Se a versão do pacote especificada em requirements.txt entrar em conflito com as versões compatíveis dos pacotes pré-instalados, o ambiente Python poderá falhar. Valide a compatibilidade antes da instalação.

De arquivos do espaço de trabalho

Você pode baixar ou construir arquivos .whl ou .py, carregá-los em seu espaço de trabalho e instalá-los ou importá-los.

  • Arquivos Wheel (.whl): carregue o arquivo .whl e instale-o:

    !pip install file_name.whl
    
    Copy

    Se o pacote contiver dependências que ainda não estejam instaladas, carregue a árvore de dependências completa (diretamente no Workspaces ou em uma área de preparação). Como alternativa, anexe uma EAI que permita o acesso a um repositório onde o pacote pode ser baixado (por exemplo, PyPI).

  • Arquivos Python (.py): os módulos armazenados em seu espaço de trabalho podem ser importados diretamente para compartilhar utilitários e funções entre notebooks. Por exemplo:

    from my_utils import my_func
    
    Copy

De uma área de preparação do Snowflake

As áreas de preparação fornecem uma implantação de pacote segura e controlada, aproveitando os controles existentes de armazenamento de dados e governança do Snowflake para os arquivos de pacote. Use a sessão do Snowpark para recuperar arquivos de pacote de uma área de preparação do Snowflake para o ambiente de contêiner para importação e uso. Por exemplo:

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

Gerenciamento de tempo de execução

Fixação de tempo de execução

Todos os serviços de notebook são fixados no tempo de execução selecionado no momento da criação, a menos que você altere isso explicitamente editando o serviço. Por exemplo, um serviço de notebook criado no Runtime 2.0 não será atualizado automaticamente quando novas versões do tempo de execução forem lançadas.

Verificação de vulnerabilidades no tempo de execução

O Snowflake verifica se há vulnerabilidades de segurança nas imagens do tempo de execução diariamente. Vulnerabilidades e exposições comuns (Common Vulnerabilities and Exposures, CVEs) altas ou críticas são resolvidas com o lançamento de novas versões do tempo de execução dentro de 30 dias após a detecção.

Os serviços de notebook existentes podem continuar usando os tempos de execução com CVEs detectadas. Entretanto, os tempos de execução com CVEs conhecidas não podem ser selecionados ao criar novos serviços de notebook.