Verwalten von Paketen und Laufzeitumgebung¶
Snowflake-Notebooks laufen innerhalb einer vorgefertigten Containerumgebung, die für eine skalierbare AI/ML-Entwicklung auf Basis von Snowflake Container Runtime optimiert ist.
Python-Versionen¶
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.
Vorinstallierte Snowflake Container Runtime-Pakete¶
Snowflake Container Runtime Version 2.2 enthält etwa 100 Pakete und Bibliotheken, die eine Vielzahl von ML-Entwicklungsaufgaben in Snowflake unterstützen.
In den folgenden Abschnitten wird eine kuratierte Teilmenge der vorinstallierten Pakete (40 Einträge pro Umgebung) aufgeführt, die für jede Python-Version der Snowflake Container Runtime-Version 2.2 verfügbar sind.
Bemerkung
Um die vollständige Liste der vorinstallierten Pakete für Ihre aktuelle Notebook-Umgebung anzuzeigen, führen Sie pip freeze in einer Python-Zelle oder im Notebook-Terminal aus.
CPU-Version 2.2¶
Folgende Pakete sind die für jede Python-Version der CPU-Version 2.2 verfügbar:
CPU Container Runtime Python 3.10 Version 2.2 enthält die folgenden Pakete:
Paket |
Version |
|---|---|
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 Version 2.2 enthält die folgenden Pakete:
Paket |
Version |
|---|---|
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 Version 2.2 enthält die folgenden Pakete:
Paket |
Version |
|---|---|
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-Version 2.2¶
Folgende Pakete sind die für jede Python-Version der GPU-Version 2.2 verfügbar:
GPU Container Runtime Python 3.10 Version 2.2 enthält die folgenden Pakete:
Paket |
Version |
|---|---|
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 Version 2.2 enthält die folgenden Pakete:
Paket |
Version |
|---|---|
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 Version 2.2 enthält die folgenden Pakete:
Paket |
Version |
|---|---|
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 |
Installieren zusätzlicher Pakete (falls erforderlich)¶
Snowflake unterstützt die Installation von Paketen aus verschiedenen Quellen.
Aus externen Repositorys¶
Nach der Konfiguration von Integrationen für den externen Zugriff (EAIs) für einen sicheren Repository-Zugriff können Sie Pakete direkt aus externen Quellen wie PyPI installieren. Benutzende haben Zugriff auf ein umfassendes Ökosystem von Paketen, die über die vorinstallierte Laufzeitumgebung hinausgehen, wodurch eine sichere Konnektivität zu externen Repositorys sichergestellt wird.
Sie können pip install in einer Python-Zelle oder im Notebook-Terminal ausführen.
Weitere Informationen dazu finden Sie unter Einrichten des externen Zugriffs für Snowflake Notebooks.
Über requirements.txt¶
Sie können erforderliche Paketversionen in einer requirements.txt-Datei angeben und installieren, um eine konsistente Einrichtung der Umgebung sicherzustellen. Installieren Sie diese mit dem folgenden Befehl:
!pip install -r requirements.txt
Bemerkung
Wenn die in requirements.txt angegebene Paketversion im Konflikt mit unterstützten Versionen von vorinstallierten Paketen steht, wird die Python-Umgebung unter Umständen beschädigt. Überprüfen Sie vor der Installation die Kompatibilität.
Aus Workspace-Dateien¶
Sie können .whl- oder .py-Dateien herunterladen oder erstellen, in Ihren Arbeitsbereich hochladen und installieren oder importieren.
Wheel-Dateien (.whl): Laden Sie die Datei
.whlhoch und installieren Sie sie:!pip install file_name.whl
Wenn das Paket Abhängigkeiten enthält, die noch nicht installiert sind, laden Sie den vollständigen Abhängigkeitsstrukturbaum hoch (entweder direkt in Workspaces oder in einen Stagingbereich). Alternativ können Sie auch eine EAI hinzufügen, die den Zugriff auf ein Repository ermöglicht, in das das Paket heruntergeladen werden kann (z. B. PyPI).
Python-Dateien (.py): Module, die in Ihrem Arbeitsbereich gespeichert sind, können direkt importiert werden, um Dienstprogramme und Funktionen über Notebooks hinweg gemeinsam zu nutzen. Beispiel:
from my_utils import my_func
Von einem Snowflake-Stagingbereich¶
Stagingbereiche bieten eine sichere und geregelte Bereitstellung von Paketen, indem vorhandene Snowflake-Datenspeicher- und Governance-Kontrollen für Paketdateien genutzt werden. Verwenden Sie die Snowpark-Sitzung, um Paketdateien aus einem Snowflake-Stagingbereich in die Containerumgebung abzurufen, um sie zu importieren und zu verwenden. Beispiel:
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)
Verwalten der Laufzeit¶
Anheften zur Laufzeit¶
Alle Notebook-Services sind an die bei der Erstellung ausgewählte Laufzeitumgebung gebunden, es sei denn, Sie ändern diese explizit, indem Sie den Service bearbeiten. Beispiel: Ein Notebook-Service, der auf Runtime 2.0 erstellt wurde, wird nicht automatisch aktualisiert, wenn neue Runtime-Versionen veröffentlicht werden.
Scannen von Schwachstellen zur Laufzeit¶
Snowflake überprüft die Runtime-Images täglich auf Sicherheitslücken. Hohe oder kritische gängige Schwachstellen und Gefährdungen (CVEs) werden durch neue Runtime-Versionen behoben, die innerhalb von 30 Tagen nach Erkennung veröffentlicht werden.
Bestehende Notebook-Services können weiterhin Runtimes mit erkannten CVEs nutzen. Allerdings können Runtimes mit bekannten CVEs beim Erstellen neuer Notebook-Services nicht ausgewählt werden.