Tous les produits
Search
Centre de documentation

Function Compute:Utiliser WebIDE pour empaqueter les dépendances tierces d'une fonction

Dernière mise à jour :Aug 12, 2026

WebIDE s'exécute dans le même environnement que Function Compute. Les paquets installés depuis le terminal WebIDE se comportent donc de manière identique lors de l'exécution. Cette rubrique explique comment installer et empaqueter des dépendances tierces pour les runtimes Python, Node.js, PHP et personnalisés.

Choisir une méthode d'installation

Pour chaque runtime, vous pouvez installer des dépendances selon deux méthodes :

Méthode Cas d'usage Répertoire
Installation directe dans le répertoire du code Dépendances légères, déploiements fréquents /code
Empaquetage des dépendances sous forme de couche Dépendances volumineuses, modifications peu fréquentes Spécifique au runtime (voir les sections ci-dessous)

Un nombre élevé de dépendances augmente la latence de démarrage à froid, la taille du paquet de code de la fonction et la durée de déploiement. Les empaqueter sous forme de couche sépare le cycle de vie des dépendances de celui du code de votre fonction. Vous mettez ainsi à jour la couche uniquement lorsque les dépendances changent, et non à chaque déploiement.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Une fonction créée dans Function Compute avec une instance WebIDE en cours d'exécution

  • Un accès au terminal WebIDE

Python

Les runtimes Python incluent un ensemble de modules Python intégrés. Pour tout module absent de cette liste, installez-le depuis le terminal WebIDE.

Installation directe dans /code

Exécutez la commande suivante dans le répertoire /code du terminal WebIDE :

pip install -t . flask
# Or, using a requirements file:
pip install -t . -r requirements.txt

L'installation directe de paquets dans /code les place aux côtés du code de votre fonction. Si de nombreux paquets sont installés, le répertoire se remplit de fichiers et de dossiers, ce qui complique la localisation d'index.py dans le gestionnaire de ressources. Dans ce cas, privilégiez une installation dans un répertoire distinct.

Installation dans un répertoire distinct

Pour garder votre répertoire de code propre, installez les paquets dans un sous-répertoire /python, puis définissez une variable d'environnement afin que le runtime puisse les trouver :

mkdir python
cd python
pip install -t . flask

Ajoutez la variable d'environnement PYTHONPATH=/code/python à la configuration de votre fonction.

Empaquetage sous forme de couche

Si l'ensemble des dépendances est volumineux, empaquetez le répertoire /python sous forme de couche. Cela réduit la taille du paquet de code de la fonction et accélère les déploiements ultérieurs.

Lorsque vous utilisez /python comme répertoire de couche, Function Compute l'ajoute automatiquement au chemin de recherche Python. Il est donc inutile de définir PYTHONPATH=/opt/python .

Exécutez les commandes suivantes dans l'ordre :

# Step 1: Archive the python directory
zip -ry python.zip python

# Step 2: Publish the archive as a layer
s cli fc3 layer publish \
  --layer-name myPythonLibLayer \
  --code /code/python.zip \
  --compatible-runtime python3.10,python3.9,python3.6,custom,custom.debian10 \
  --region cn-hangzhou \
  -a default

La commande retourne l'ARN de la couche, par exemple :

395da10bf789aa49dd035db01bab****#myPythonLibLayer#1

Une fois la couche publiée :

  1. Mettez à jour la configuration de votre fonction pour référencer la nouvelle version de la couche.

  2. Supprimez le répertoire local /python et l'archive afin de réduire la taille du paquet de code de la fonction :

    rm -rf python python.zip
  3. Déployez la fonction mise à jour.

Pour plus d'informations sur la création et l'utilisation de couches, consultez Créer une couche personnalisée et Configurer une couche personnalisée.

Node.js

Les runtimes Node.js incluent un ensemble de modules Node.js intégrés. Pour tout module absent de cette liste, installez-le depuis le terminal WebIDE.

Installation directe dans /code

Assurez-vous que le fichier package.json existe dans /code, puis exécutez la commande suivante :

npm install

Empaquetage sous forme de couche

Si l'ensemble des dépendances est volumineux, déplacez node_modules dans un répertoire /nodejs et empaquetez-le sous forme de couche :

# Step 1: Move node_modules into the nodejs directory
mkdir nodejs
mv node_modules ./nodejs

# Step 2: Archive the directory
zip -ry nodejs.zip nodejs

# Step 3: Publish the archive as a layer
s cli fc3 layer publish \
  --layer-name myNodeLibLayer \
  --code /code/nodejs.zip \
  --compatible-runtime nodejs16,nodejs14,nodejs12,nodejs10,custom,custom.debian10 \
  --region cn-hangzhou \
  -a default

La commande retourne l'ARN de la couche, par exemple :

395da10bf789aa49dd035db01bab****#myNodeLibLayer#1

Une fois la couche publiée :

  1. Mettez à jour la configuration de votre fonction pour référencer la nouvelle version de la couche.

  2. Supprimez le répertoire local /nodejs et l'archive :

    rm -rf nodejs nodejs.zip
  3. Déployez la fonction mise à jour.

Pour plus d'informations sur la création et l'utilisation de couches, consultez Créer une couche personnalisée et Configurer une couche personnalisée.

PHP

Le processus d'installation pour PHP suit la même logique que pour Python et Node.js. La différence réside dans le répertoire de la couche : PHP utilise /opt/php au lieu de /python ou /nodejs.

Pour consulter la liste complète des répertoires de couches par runtime, reportez-vous à la section « Répertoires pouvant être ajoutés dans chaque runtime » de la rubrique Créer une couche personnalisée.

Runtimes personnalisés

  • Si votre runtime personnalisé utilise Python, Node.js ou PHP : suivez les étapes décrites dans les sections correspondantes ci-dessus.

  • Si votre runtime personnalisé utilise un langage compilé tel que Java ou Go : utilisez le SDK fourni par WebIDE pour compiler et empaqueter vos dépendances.