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 |
O CPU Container Runtime Python 3.11 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 |
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 |
O CPU Container Runtime Python 3.12 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 |
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 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 |
O GPU Container Runtime Python 3.11 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 |
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 |
O GPU Container Runtime Python 3.12 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 |
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 |
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
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
.whle instale-o:!pip install file_name.whl
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
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)
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.