_________ ___ ____
|__ / _ \_ _| _ \
/ /| |_) | || |_) |
/ /_| __/| || __/
/____|_| |___|_|
Desde la versión 2021.1, InterSystems IRIS empezó a distribuirse con un runtime de Python en el motor del kernel. Sin embargo, no había forma de instalar paquetes desde dentro de la instancia. La principal ventaja de Python es su enorme ecosistema de paquetes. Con ello en mente, os presento mi proyecto zpip, un empaquetador pip que se puede invocar desde el terminal de iris.
¿Qué es zpip?
zpip es un empaquetador para python pip que permite a los desarrolladores añadir de forma rápida paquetes a una instancia, a través del terminal de InterSystems IRIS.
Características
- Empaquetador pip de python para InterSystems IRIS
- Instalación/Desinstalación paquetes python
- La instalación añade la palabra clave
zpip
al lenguaje
Instalación de zpip
%SYS> zpm "install zpip"
Lista de tareas
- [ ] API invocable con retorno de estados
Uso de zpip
Todos los comandos* pip están soportados. Sin embargo, cualquier comando interactivo requerirá que uses la versión no-interactiva del comando. Por ejemplo, para desinstalar un package, tendrás que usar -y en el comando para confirmar el proceso.
Instalación de los paquetes python con zpip
// Install multiple packages
// beautiful soup and requests libraries
%SYS> zpip "install requests bs4"
... en acción:
%SYS>zpip "install emoji"
Processing /home/irisowner/.cache/pip/wheels/ae/80/43/3b56e58669d65ea9ebf38b9574074ca248143b61f45e114a6b/emoji-2.1.0-py3-none-any.whl
Installing collected packages: emoji
Successfully installed emoji-2.1.0
%SYS>
Especificación de un directorio de instalación diferente:
// Install to some other python package target
$SYS> zpip "install --target '/durable/iconfig/lib/python' emoji"
Desinstalación de un paquete python
// Requires -y!
%SYS>zpip "uninstall -y emoji"
Found existing installation: emoji 2.1.0
Uninstalling emoji-2.1.0:
Successfully uninstalled emoji-2.1.0
Otros comandos de pip útiles
lista de paquetes
// List Packages
%SYS> zpip "list"
Package Version
---------------------------- -----------
absl-py 1.1.0
argon2-cffi 21.3.0
argon2-cffi-bindings 21.2.0
asttokens 2.0.5
astunparse 1.6.3
attrs 21.4.0
backcall 0.2.0
beautifulsoup4 4.11.1
bleach 5.0.0
bs4 0.0.1
...
Limitaciones
- Los comandos interactivos no están soportados.
- Uso de
-y
para desinstalar. - La búsqueda puede no funcionar dependiendo de la configuración del sistema.
- Usa la infraestructura pip subyacente del sistema operativo, por lo que la instalación depende de la versión pip del sistema operativo.