Charger un paquet Python existant¶
Snowflake CLI vous permet d’ajouter des paquets Python existants aux importations de Snowpark en utilisant les commandes snow snowpark package. Vous pouvez utiliser des paquets déjà mis en œuvre, tels que ceux de PyPi, dans vos fonctions et procédures.
Pour ajouter un paquet Python aux importations de Snowpark, procédez comme suit :
Vérifier si un paquet est déjà disponible¶
Pour vérifier si un paquet n’est pas déjà disponible, utilisez la commande snow snowpark package lookup.
L’exemple suivant illustre la recherche d’un paquet déjà disponible sur le canal Snowflake Anaconda :
Si un paquet n’est pas disponible sur le canal de Snowflake Anaconda, vous pouvez obtenir un message similaire au suivant :
Pour plus d’informations, consultez la commande snowpark package lookup.
Télécharger un paquet et créer un artefact Snowflake¶
Pour télécharger un paquet et créer un artefact Snowflake à télécharger, utilisez la commande snow snowpark package create.
où :
<name>peut être n’importe quel spécificateur d’exigences pris en charge parpip, tel qu’un nom de paquet, une URL pour un paquet ou un chemin de fichier local.
Options supplémentaires :
--allow-shared-libraries: autorise les bibliothèques partagées (.so/.dll) lors de l’utilisation de paquets installés viapip.--ignore-anaconda: ne consulte pas les paquets sur le canal de Snowflake Anaconda.--index-url: spécifie l’URL de base du Python Package Index à utiliser pour la recherche de paquets. Cette URL doit pointer vers un référentiel conforme à PEP 503 (l’API de référentiel simple) ou vers un répertoire local présenté dans le même format.--skip-version-check: ne comparez pas les versions des dépendances entre les exigences et Anaconda.
Les exemples suivants illustrent différentes situations de création d’artefacts Snowflake :
Exemple : créer un paquet à l’aide de l’option --ignore-anaconda
Exemple : créer un paquet déjà disponible dans le canal Snowflake Anaconda
Exemple : créer un paquet avec les dépendances d’Anaconda¶
Cet exemple crée un paquet Python sous la forme d’un fichier zip qui peut être téléchargé dans une zone de préparation et importé ultérieurement par une application Python de Snowpark. Les dépendances du paquet « july » se trouvent sur le canal Anaconda, elles ont donc été exclues du fichier .zip. La commande affiche les paquets que vous devriez inclure dans requirements.txt de votre projet Snowpark.
Exemple : créer un paquet à l’aide de l’option --ignore-anaconda¶
Cet exemple crée le paquet july.zip que vous pouvez utiliser dans votre projet Snowpark sans avoir besoin d’ajouter des dépendances au fichier requirements.txt. Les messages d’erreur indiquent que certains paquets contiennent des bibliothèques partagées, ce qui peut ne pas fonctionner, par exemple lors de la création d’un paquet sous Windows.
Exemple : créer un paquet déjà disponible dans le canal Snowflake Anaconda¶
Cet exemple ne crée pas le paquet parce qu’il existe déjà. Vous pouvez toujours forcer la création du paquet en utilisant l’option --ignore-anaconda.
Pour plus d’informations sur la création d’un paquet, consultez la commande snowpark package create.
Charger le paquet dans une zone de préparation Snowflake¶
Pour charger votre paquet, utilisez la commande snow snowpark package upload.
Cette commande charge un fichier zip de paquet Python vers une zone de préparation Snowflake afin qu’il puisse être référencé dans les importations d’une procédure ou d’une fonction.
Utiliser le paquet dans les procédures et les fonctions Snowpark¶
Pour utiliser le paquet dans des procédures ou des fonctions, ajoutez-le au paramètre imports de la section Définition de Snowpark dans snowflake.yml.
Importez ensuite votre paquet dans le gestionnaire (handler) de fonction.