Todos los productos
Search
Centro de documentos

Function Compute:Use WebIDE to package third-party dependencies of a function

Última actualización: Sep 06, 2026

WebIDE se ejecuta en el mismo entorno que Function Compute. Por lo tanto, los paquetes que instale en la terminal de WebIDE funcionan exactamente igual durante la ejecución. En este tema se explica cómo instalar y empaquetar dependencias de terceros para los runtimes de Python, Node.js, PHP y personalizados.

Elección de un método de instalación

Para cada runtime, puede instalar las dependencias mediante uno de estos dos métodos:

Método

Cuándo utilizarlo

Directorio

Instalar directamente en el directorio del código

Dependencias pequeñas y despliegues frecuentes

/code

Empaquetar las dependencias como una capa

Dependencias grandes con cambios poco frecuentes

Específico del runtime (consulte las secciones siguientes)

Los conjuntos grandes de dependencias aumentan la latencia de arranque en frío, el tamaño del paquete de código de la función y el tiempo de despliegue. Al empaquetarlos como una capa, se separa el ciclo de vida de las dependencias del código de su función. Así, solo actualiza la capa cuando cambian las dependencias, no en cada despliegue.

Requisitos previos

Antes de empezar, compruebe que cuenta con lo siguiente:

  • Una función creada en Function Compute con una instancia de WebIDE en ejecución.

  • Acceso a la terminal de WebIDE.

Python

Los runtimes de Python incluyen un conjunto de built-in Python modules. Para cualquier módulo que no esté en esa lista, instálelo desde la terminal de WebIDE.

Instalación directa en /code

Ejecute el siguiente comando en el directorio /code de la terminal de WebIDE:

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

Al instalar los paquetes directamente en /code, estos quedan junto al código de su función. Si instala muchos paquetes, localizar index.py en el administrador de recursos se vuelve difícil, ya que el directorio se llena de archivos y carpetas de los paquetes. Si esto le preocupa, instálelos en un directorio independiente.

Instalación en un directorio independiente

Para mantener limpio el directorio del código, instale los paquetes en un subdirectorio /python y luego establezca una variable de entorno para que el runtime pueda encontrarlos:

mkdir python
cd python
pip install -t . flask

Agregue la variable de entorno PYTHONPATH=/code/python a la configuración de su función.

Empaquetado como una capa

Si el conjunto de dependencias es grande, empaquete el directorio /python como una capa. Esto reduce el tamaño del paquete de código de la función y acelera los despliegues posteriores.

Cuando usa /python como directorio de la capa, Function Compute lo agrega automáticamente a la ruta de búsqueda de Python. No necesita establecer PYTHONPATH=/opt/python .

Ejecute los siguientes comandos en orden:

# 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

El comando muestra el ARN de la capa; por ejemplo:

395da10bf789aa49dd035db01bab****#myPythonLibLayer#1

Una vez publicada la capa:

  1. Actualice la configuración de su función para hacer referencia a la nueva versión de la capa.

  2. Elimine el directorio local /python y el archivo comprimido para reducir el tamaño del paquete de código de la función:

    rm -rf python python.zip
  3. Despliegue la función actualizada.

Para obtener instrucciones sobre cómo crear capas y hacer referencia a ellas, consulte Create a custom layer y Configure a custom layer.

Node.js

Los runtimes de Node.js incluyen un conjunto de built-in Node.js modules. Para cualquier módulo que no esté en esa lista, instálelo desde la terminal de WebIDE.

Instalación directa en /code

Compruebe que package.json exista en /code y luego ejecute:

npm install

Empaquetado como una capa

Si el conjunto de dependencias es grande, mueva node_modules a un directorio /nodejs y empáquelo como una capa:

# 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

El comando muestra el ARN de la capa; por ejemplo:

395da10bf789aa49dd035db01bab****#myNodeLibLayer#1

Una vez publicada la capa:

  1. Actualice la configuración de su función para hacer referencia a la nueva versión de la capa.

  2. Elimine el directorio local /nodejs y el archivo comprimido:

    rm -rf nodejs nodejs.zip
  3. Despliegue la función actualizada.

Para obtener instrucciones sobre cómo crear capas y hacer referencia a ellas, consulte Create a custom layer y Configure a custom layer.

PHP

El proceso de instalación para PHP sigue el mismo patrón que el de Python y Node.js. La diferencia radica en el directorio de la capa: PHP utiliza /opt/php en lugar de /python o /nodejs.

Para consultar la lista completa de directorios de capa por runtime, vea la sección "Directories that can be added in each runtime" en Create a custom layer.

Runtimes personalizados

  • Si su runtime personalizado usa Python, Node.js o PHP: siga los pasos de las secciones correspondientes anteriores.

  • Si su runtime personalizado usa un lenguaje compilado como Java o Go: utilice el SDK proporcionado por WebIDE para compilar y empaquetar sus dependencias.