Installez les dépendances tierces pour votre fonction Python, empaquetez le code et déployez-le sur Function Compute. Ce guide utilise la bibliothèque emoji comme exemple concret.
Choisir une méthode de déploiement
| Méthode | Idéale pour | Prérequis |
|---|---|---|
| pip + téléchargement via la console | Dépendances purement Python (sans binaires compilés) | Python 3, pip3 |
| Serverless Devs + Docker | Dépendances avec extensions binaires (C/C++, cryptographie, numpy, etc.) | CLI Serverless Devs, Docker |
Si vos dépendances incluent des fichiers binaires compilés, privilégiez la méthode Serverless Devs. Les fichiers binaires compilés sous macOS ou Windows sont incompatibles avec l'environnement Linux utilisé par Function Compute.
Préparatifs
Configurez un répertoire de code local et une fonction d'exemple avant d'appliquer l'une ou l'autre des méthodes.
-
Créez un répertoire nommé
mycode.Linux et macOS :
mkdir -p /tmp/mycodeWindows : Créez un dossier nommé
mycode
-
Dans le répertoire
mycode, créez le fichierindex.pyavec le contenu suivant :from emoji import emojize def handler(event, context): return emojize(":thumbs_up:")
Méthode 1 : Utiliser pip et la console
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Python 3 installé sur votre machine locale, avec les autorisations nécessaires pour exécuter
pip3Une fonction Python créée dans la console Function Compute. Pour les instructions de configuration, consultez Créer une fonction événementielle
Installer les dépendances et télécharger
-
Installez la dépendance
emojidans le répertoiremycode:pip3 install emoji -t .Exécutez cette commande depuis le répertoire
mycode. L'indicateur-t .installe le package dans le répertoire courant au lieu du dossier global site-packages. -
Compressez tous les fichiers du répertoire
mycodedans un fichier ZIP.-
Linux et macOS : Accédez au répertoire
mycodeet exécutez :zip code.zip -r ./*RemarqueRemarque : Assurez-vous de disposer des droits de lecture et d'écriture sur le répertoire.
Windows : Sélectionnez tous les fichiers du répertoire
mycode, faites un clic droit et compressez-les dans un fichier.zip.
-
-
Téléchargez le fichier ZIP dans la console Function Compute :
Localisez la fonction cible et accédez à sa page Function Details.
Cliquez sur l'onglet Code.
Cliquez sur Upload Code > Upload ZIP Package, puis sélectionnez le fichier
code.zip.Cliquez sur Save and Deploy.
Function Compute s'exécute dans un environnement Linux. Si la bibliothèque emoji (ou toute autre dépendance) contient des fichiers binaires compilés, le package risque de ne pas fonctionner s'il a été installé sous macOS ou Windows. Dans ce cas, nous vous recommandons d'utiliser WebIDE pour empaqueter les dépendances tierces ou d'utiliser la méthode 2 (Serverless Devs + Docker).
Méthode 2 : Utiliser Serverless Devs et Docker
Serverless Devs construit les dépendances à l'intérieur d'un conteneur Docker correspondant à l'environnement d'exécution Linux de Function Compute, garantissant ainsi la compatibilité binaire.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Construire et déployer
-
Accédez au répertoire
mycode:cd /tmp/mycode -
Créez le fichier
s.yamlavec le contenu suivant :edition: 3.0.0 name: fcDeployApp access: "default" vars: # The global variables. region: "cn-hangzhou" resources: hello_world: component: fc3 # The name of the component. props: region: ${vars.region} functionName: "emojipy" description: 'this is emoji' runtime: "python3" code: ./ handler: index.handler memorySize: 128 timeout: 30 environmentVariables: PYTHONUSERBASE: /code/python # Add environment variables to obtain dependencies.code.Le tableau suivant décrit les fichiers clés de ce projet :
Fichier Objectif Requis s.yamlConfiguration du projet Serverless Devs Oui index.pyCode du gestionnaire de fonction Oui requirements.txtDépendances Python à installer Oui -
Créez le fichier
requirements.txtavec le contenu suivant :emoji==2.0.0 -
Construisez les dépendances à l'intérieur d'un conteneur Docker :
sudo s build --use-dockerUne fois la construction terminée, les dépendances sont installées dans le répertoire
./python. -
Déployez la fonction :
sudo s deployAprès le déploiement, la fonction est disponible dans Function Compute.
Étapes suivantes
Utilisez les couches (layers) de Function Compute pour partager des dépendances entre plusieurs fonctions sans les intégrer à chaque package de code :