Article
· Août 7, 2023 3m de lecture

Simplification des paquets Python avec zpip, un wrapper pip irispython

   _________ ___ ____  
  |__  /  _ \_ _|  _ \
    / /| |_) | || |_) |
   / /_|  __/| ||  __/
  /____|_|  |___|_|    

À partir de la version 2021.1, InterSystems IRIS a commencé à fonctionner avec l'exécution python dans le noyau du moteur. Cependant, il n'y avait aucun moyen d'installer des paquets à partir de l'instance. Le principal attrait de Python est son énorme écosystème de paquets. C'est dans cette optique que je vous présente mon projet secondaire zpip, un wrapper pip qui peut être appelé depuis le terminal iris.

Qu'est-ce que zpip ?

zpip est un wrapper pour python pip qui permet aux développeurs d'ajouter rapidement des paquets à une instance via le terminal InterSystems IRIS.

Fonctionnalités

  • python pip wrapper pour InterSystems IRIS
  • Installation et désinstallation des paquets python
  • Ajout du mot-clé zpip à la langue lors de l'installation

Installation de zpip

%SYS> zpm "install zpip"

TODO: Liste des tâches à accomplir

  • [ ] API appelable avec retour des états

Utiliisation de zpip

Les commandes pip* sont toutes supportées, cependant, toute commande interactive nécessite l'utilisation de la version non-interactive de la commande. Par exemple, pour désinstaller un paquet, vous devrez utiliser -y dans la commande pour confirmer le processus.

Installation de paquets python avec zpip

// Installation de plusieurs paquets
// belles bibliothèques en demande
%SYS> zpip "install requests bs4"

... en action:

%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>

Spécification d'un répertoire d'installation différent :

// Installation vers une autre cible de paquetage python
$SYS> zpip "install --target '/durable/iconfig/lib/python' emoji"

Désinstallation d'un paquet python

// Nécessite -y!
%SYS>zpip "uninstall -y emoji"
Found existing installation: emoji 2.1.0
Uninstalling emoji-2.1.0:
  Successfully uninstalled emoji-2.1.0

Autres commandes pip utiles

liste des paquets

// Liste des paquets
%SYS> zpip "list"
Paquet                      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   
...

Limitations

  • ILes commandes interactives ne sont pas prises en charge
    • Utilisation de -y pour les désinstallations
  • La recherche peut ne pas fonctionner en fonction de la configuration du système
  • Utilisation de l'infrastructure pip du système d'exploitation sous-jacent, de sorte que votre installation dépend de la version pip du système d'exploitation.
Discussion (0)2
Connectez-vous ou inscrivez-vous pour continuer