Saltar al contenido principal
Tutoriales

Instalar bibliotecas externas de Python

Instalar bibliotecas externas de Python

Roberty incluye un Python propio (versión 3.7), que usa la acción Código Python. Para usar bibliotecas que no vengan instaladas por defecto (pandas, openpyxl, requests o cualquier otra), hay que instalarlas en el Python de Roberty con pip.


Cómo funciona

Roberty no usa el Python del sistema: tiene su propio intérprete, en:

C:\Users\{Usuario}\AppData\Roaming\roberty-v4\vendor\python\3.8.1\python.exe

Para que una biblioteca esté disponible en la acción Código Python, hay que instalarla en ese Python concreto, no en el del sistema.


Paso 1 — Abrir el Símbolo del sistema

Pulsa Win + R, escribe cmd y pulsa Enter.


Paso 2 — Habilitar site-packages (solo la primera vez)

El Python incluido en Roberty es la distribución embebida de Windows, que desactiva el directorio de paquetes por defecto. Antes de instalar nada, habilita site-packages editando un archivo de configuración.

  1. Abre el Explorador de archivos y ve a:
    %APPDATA%\roberty-v4\vendor\python\3.8.1\
  2. Localiza python37._pth y ábrelo con el Bloc de notas.
  3. Busca la línea #import site y quita la #, dejando import site.
  4. Guarda el archivo.

Paso 3 — Instalar pip (solo la primera vez)

Con site-packages habilitado, descarga y ejecuta el script de instalación de pip:

  1. Descarga get-pip.py de https://bootstrap.pypa.io/pip/3.7/get-pip.py
  2. En el Símbolo del sistema, ejecuta:
bat
"%APPDATA%\roberty-v4\vendor\python\3.8.1\python.exe" ruta\a\get-pip.py

Al terminar, pip queda instalado permanentemente en ese Python. Los pasos 2 y 3 se hacen una sola vez: no hay que repetirlos para bibliotecas posteriores.


Paso 4 — Instalar la biblioteca con pip

Llama a pip a través del Python de Roberty:

bat
"%APPDATA%\roberty-v4\vendor\python\3.8.1\python.exe" -m pip install nombre-de-la-biblioteca

Por ejemplo:

bat
"%APPDATA%\roberty-v4\vendor\python\3.8.1\python.exe" -m pip install pandas
bat
"%APPDATA%\roberty-v4\vendor\python\3.8.1\python.exe" -m pip install openpyxl requests

Espera a que pip descargue e instale. Después, la biblioteca queda disponible para cualquier robot de esa máquina que use la acción Código Python.

Instalar varias a la vez

Separa los nombres con espacios para instalar varios paquetes en un solo comando:

bat
"%APPDATA%\roberty-v4\vendor\python\3.8.1\python.exe" -m pip install pandas openpyxl requests beautifulsoup4

Paso 5 — Usar la biblioteca en el código

Con ella instalada, impórtala y úsala con normalidad en la acción Código Python:

python
import pandas as pd
import json

# Toma datos del flujo como JSON
datos = json.loads('${JSON.stringify(actions["leerPlanilla"]["value"])}')

df = pd.DataFrame(datos)
resumen = df.groupby("categoria")["valor"].sum().to_dict()

print(json.dumps(resumen))

La instalación es permanente: los paquetes quedan disponibles para todos los robots de esa máquina mientras el Runner esté instalado.


Comprobar qué hay instalado

Para listar todas las bibliotecas instaladas en el Python de Roberty:

bat
"%APPDATA%\roberty-v4\vendor\python\3.8.1\python.exe" -m pip list

Para comprobar una en concreto:

bat
"%APPDATA%\roberty-v4\vendor\python\3.8.1\python.exe" -m pip show pandas

Solución de problemas

No module named pip al instalar. pip todavía no está instalado. Sigue los pasos 2 y 3 de este tutorial.

No module named ensurepip al intentar usar ensurepip. El Python incluido en Roberty es la distribución embebida de Windows y no trae ensurepip. Usa el método get-pip.py del paso 3.

ModuleNotFoundError al ejecutar el robot, incluso tras instalar. Confirma que pip se ejecutó con el Python de Roberty (la ruta completa con %APPDATA%\roberty-v4\vendor\...), no con el del sistema (python -m pip install). Comprueba también que python37._pth se editó correctamente (paso 2).

pip devuelve un error de permisos. Ejecuta el Símbolo del sistema como Administrador e inténtalo otra vez.

La biblioteca no es compatible con Python 3.7. Consulta la compatibilidad de la versión en PyPI. Algunas bibliotecas recientes exigen Python 3.8 o superior; en ese caso, busca una versión anterior del paquete que sí soporte 3.7:

bat
"%APPDATA%\roberty-v4\vendor\python\3.8.1\python.exe" -m pip install "nombre-de-la-biblioteca==version-compatible"

Siguientes pasos