Escrito por

Project Manager & Head of Interoperability at Salutic Soluciones, S.L.
MOD
Pregunta Kurro Lopez · 23 mayo

Activar entorno virtual para toda la ejecución de IRIS

Hola a todos.

Tras intentar de ejecutar métodos Python en el docker intersystemsdc/irishealth-community, que no permite ahora ejecutar ningún método con Python, decidí dejar esta versión y empezar a trabajar con containers.intersystems.com/intersystems/iris-community.

En este entorno si funcionan los método de Python y ya era un paso bastante grande.

Intento importar mis liberarías con pip install -r requirements.txt pero, como muy buena medida de seguridad, me impide que se realice este cambio en la librería general, por lo que requiere que esta instalación se realice en un entorno virtual.

Tengo el siguiente código en Dockerfile

ARG IMAGE=containers.intersystems.com/intersystems/iris-community:latest-em 
FROM $IMAGE 
USER root 
WORKDIR /opt/irisbuild 
RUN chown ${ISC_PACKAGE_MGRUSER}:${ISC_PACKAGE_IRISGROUP} /opt/irisbuild 

USER ${ISC_PACKAGE_MGRUSER} 

COPY src src 
COPY data data 
COPY iris.script iris.script 
COPY requirements.txt requirements.txt 
RUN python3 -m venv ${ISC_PACKAGE_INSTALLDIR}/.venv 
RUN bash -c "source \"${ISC_PACKAGE_INSTALLDIR}/.venv/bin/activate\" && pip install -U -r requirements.txt" 
RUN export IRIS_PYTHON_PATH=${ISC_PACKAGE_INSTALLDIR}/.venv/bin/ 

RUN iris start IRIS \ 
    && iris session IRIS < iris.script \ 
    && iris stop IRIS quietly 
    

Si accedo luego por terminal, veo que realmente se han instalado los paquetes en el entorno virtual, pero si quiero utilizarlo en una clase de IRIS, no puede acceder porque la aplicación no tiene levantado el entorno virtual.

He consultado en varios foros y no me deja muy claro como hay que configurar mi instancia de IRIS para que tenga acceso a los paquetes instalados en el entorno virtual.

En el fichero docker-compose.yml tengo este valor en la sección environment

    environment:
      - IRIS_PYTHON_PATH=/usr/irissys/.venv/bin/
Pero no funciona, al intentar hacer el import de algún paquete instalado en este entorno, no lo encuentra.
¿Alguna sugerencia?
Muchas gracias por adelantado.
Versión del producto: IRIS 2026.1
$ZV: IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2026.1 (Build 234U) Fri Mar 27 2026 14:07:14