Esta serie de artículos describe el uso del Python Gateway para InterSystems. Ejecuta el código de Python y mucho más desde InterSystems IRIS. Este proyecto te trae toda la potencia de Python directamente a tu entorno InterSystems IRIS:
- Ejecuta cualquier código de Python
- Transfiere datos de forma transparente desde InterSystems IRIS a Python
- Crea procesos empresariales de interoperabilidad inteligentes, con el Adaptador de interoperabilidad de Python
- Guarda, examina, modifica y restaura el contexto de Python desde InterSystems IRIS
# Otros artículos
El plan para la serie hasta el momento es el siguiente (sujeto a cambios):
- Parte I: Resumen, entorno e introducción
- Parte II: Instalación y resolución de problemas <-- estamos aquí
- Parte III: Funcionalidades básicas
- Parte IV: Adaptador de interoperabilidad
- Parte V: Cómo ejecutar una función
- Parte VI: Jupyter Notebook
- Parte VII: Soporte a Jupyter
Instalación
Este artículo te ayudará a instalar el Python Gateway. Hay varias formas de instalarlo y utilizarlo:
-
Host
- Windows
- Linux
- Mac
-
Docker
- Extrae la imagen prediseñada
- Crea tu propia imagen
Independientemente del método que utilices para la instalación, necesitarás el código. El único sitio donde se puede descargar es en la página de actualizaciones, que contiene versiones estables probadas. Coge siempre la más reciente. No clones/descargues el repositorio, descarga la última versión.
Host
Si instalas Python Gateway en el sistema operativo del host, primero (independientemente del sistema operativo) debes instalar Python.
- Instala Python 3.6.7 64 bits. Se recomienda instalar Python en la ubicación predeterminada.
- Instala el módulo
dill
:pip install dill
. - Carga el código ObjectScript (es decir,
ejecutar $system.OBJ.ImportDir("C:\InterSystems\Repos\Python\isc\py\", "*.cls", "c",,1)
) en el namespace Production (Ensemble-enabled). En caso de que quieras habilitar Production en la llamada del namespace:escribe ##class(%EnsembleMgr).EnableNamespace($Namespace, 1)
. - Sitúa callout DLL/SO/DYLIB en la carpeta
bin
en la que está instalado InterSystems IRIS. El archivo de la librería se debe colocar en una ruta que devuelvewrite ##class(isc.py.Callout).GetLib()
.
Windows
- Revisa que tu variable de entorno
PYTHONHOME
señala a Python 3.6.7. - Verifica que tu variable de entorno SYSTEM
PATH
incluye la variablePYTHONHOME
(o el directorio al que señala).
Linux
- Comprueba que tu variable de entorno SYSTEM
PATH
incluye/usr/lib
y/usr/lib/x86_64-linux-gnu
, preferiblemente al principio. Utiliza el archivo/etc/environment
para establecer las variables de entorno. - En caso de error, consulta la sección Troubleshooting (Resolución de problemas)
undefined symbol: _Py_TrueStruct
y especifica la propiedadPythonLib
.
Mac
- Por el momento, solo está soportada la versión python 3.6.7 de Python.org. Comprueba la variable
PATH
.
Si modificaste las variables de entorno, reinicia tu producto de InterSystems.
Docker
Hay muchas ventajas en utilizar contenedores:
- Portabilidad
- Eficiencia
- Aislamiento
- Diseño ligero
- Inmutabilidad
Consulta esta serie de artículos para obtener más información sobre Docker.
Todas las creaciones de Docker para Python Gateway se basan en contenedores 2019.1
.
Cómo extraer la imagen prediseñada
Ejecuta: docker run -d -p 52773:52773 --name irispy intersystemscommunity/irispy:latest
para extraer y ejecutar Python Gateway sobre InterSystems IRIS Community Edition. Eso es todo.
Crea tu propia imagen
Para crear la imagen de Docker, ejecuta en el repositorio raíz: <code>docker build --force-rm --tag intersystemscommunity/irispy:latest .
De forma predeterminada, la imagen se crea a partir de la imagen intersystems/iris:2019.1.0.510.0-1
. Sin embargo, se puede cambiar si se proporciona la variable <0>IMAGE.
Si quieres crearla desde InterSystems IRIS Community Edition, ejecuta: docker build --build-arg IMAGE=store/intersystems/iris:2019.1.0.510.0-community --force-rm --tag intersystemscommunity/irispy:latest.
Después, puedes ejecutar tu imagen de Docker:
docker run -d \
-p 52773:52773 \
-v /<HOST-DIR-WITH-iris.key>/:/mount \
--name irispy \
intersystemscommunity/irispy:latest \
--key /mount/iris.key
Si estás ejecutando una imagen basada en InterSystems IRIS Community Edition, puedes omitir el proporcionar la clave.
Notas de Docker
Información sobre Docker:
- El proceso de prueba
isc.py.test.Process
guarda la image artifact en el directorio temporal. Tal vez quieras cambiar esa ruta a un directorio que ya esté instalado. Para ello, edita la nota correspondiente a la llamada de laCorrelation Matrix: Graph
, donde se especifica una ruta de archivo válida para la funciónf.savefig
. - Para acceder al terminal, ejecuta:
docker exec -it irispy sh
. - Accede al Multiprocesamiento simétrico (SMP) con el usuario/contraseña SuperUser/SYS o Admin/SYS.
- Para detener el contenedor, ejecuta:
docker stop irispy && docker rm --force irispy
.
Cómo validar tu instalación
Después de que hayas instalado Python Gateway es hora de comprobar que funciona. Ejecuta este código:
set sc = ##class(isc.py.Callout).Setup()
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var)
write var
La salida debería ser HELLO
- valor de la variable x
de Python. En caso de que el estado de respuesta/devolución sea un error o que var
esté vacío, consulta la sección de resolución de problemas del archivo Readme.
Conclusión
La instalación de Python Gateway es rápida y sencilla. Si estás familiarizado con Docker, coge la última imagen. Si no, hay paquetes para los principales sistemas operativos de InterSystems IRIS: Windows, Linux y Mac. En el siguiente artículo comenzaremos a utilizar Python Gateway.
Guía ilustrada
También hay una guía de instalación ilustrada en el grupo de usuarios de ML Toolkit. El grupo de usuarios de ML Toolkit es un repositorio privado de GitHub que se estableció como parte del GitHub corporativo de InterSystems. Está dirigido a los usuarios externos que instalan, aprenden o ya utilizan los componentes del ML Toolkit. Si quieres unirte al grupo de usuarios de ML Toolkit, envía un email a la dirección MLToolkit@intersystems.com e indica los siguientes datos (son necesarios para que los miembros del grupo te puedan conocer e identificar durante los debates):
- Nombre de usuario de GitHub
- Nombre completo (tu nombre seguido de tu apellido en caracteres latinos)
- Organización (para la que trabajas, estudias, o tu oficina en casa)
- Cargo (tu cargo real en tu empresa, o "Estudiante", o "Independiente")
- País (en el que resides)