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.
- Abre el Explorador de archivos y ve a:
%APPDATA%\roberty-v4\vendor\python\3.8.1\
- Localiza
python37._pthy ábrelo con el Bloc de notas. - Busca la línea
#import sitey quita la#, dejandoimport site. - 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:
- Descarga
get-pip.pyde https://bootstrap.pypa.io/pip/3.7/get-pip.py - En el Símbolo del sistema, ejecuta:
"%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:
"%APPDATA%\roberty-v4\vendor\python\3.8.1\python.exe" -m pip install nombre-de-la-biblioteca
Por ejemplo:
"%APPDATA%\roberty-v4\vendor\python\3.8.1\python.exe" -m pip install pandas
"%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.
Separa los nombres con espacios para instalar varios paquetes en un solo comando:
"%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:
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:
"%APPDATA%\roberty-v4\vendor\python\3.8.1\python.exe" -m pip list
Para comprobar una en concreto:
"%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:
"%APPDATA%\roberty-v4\vendor\python\3.8.1\python.exe" -m pip install "nombre-de-la-biblioteca==version-compatible"
Siguientes pasos
- Código Python — la referencia completa de la acción
- Instalar bibliotecas externas de Node.js — el equivalente para la acción de código JavaScript