Question
· Déc 4, 2023

Commande iop invalide sur Windows

Bonjour,

Je suis toujours en train de préparer le terrain pour inclure la librairie de Guillaume Rongier pour utiliser InterSystems entièrement via Python. Cependant notre environnement local tourne sur Docker avec l'OS linux, jusque là nous n'avons aucun problème avec la librairie. Le problème arrive lorsque l'on passe sur la pré-production où iris est installé directement sur Windows. J'installe les librairies requises avec le package pip et un fichier requirements.txt contenant ceci:
 

dataclass_csv==1.4.0
geopy==2.2.0
chronyk==1.0.1
requests==2.28.1
psycopg2-binary==2.9.3
sqlalchemy==2.0.0
sqlalchemy-iris==0.10.5
SQLAlchemy-Continuum
alembic==1.11.1
https://github.com/intersystems-community/intersystems-irispython/releases/download/3.7.1/intersystems_iris-3.7.1-py3-none-any.whl
iris @ https://github.com/grongierisc/iris-embedded-python-wrapper/releases/download/v0.0.5/iris-0.0.5-py3-none-any.whl
iris-pex-embedded-python>=2.0.0
irissqlcli
fastapi
pydantic
pandas
zeep

Cependant lorsque j'utilise la commande iop pour faire un init et après migrer un fichier settings.py:

iop : Le terme «iop» n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme exécutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct.

J'ai essayé en passant par le commande python -m iop, mais c'est pareil, la commande iop est introuvable.

 

La librairie est pourtant installée avec pip c'est certain:

python -m grongier
C:\Program Files\Python39\python.exe: No module named grongier.__main__; 'grongier' is a package and cannot be directly executed

Merci d'avance pour votre aide !

Version du produit: IRIS 2023.1
$ZV: IRIS for Windows (x86-64) 2023.1.2 (Build 450U) Mon Oct 16 2023 10:17:46 EDT [Health:3.5.0]
Discussion (5)1
Connectez-vous ou inscrivez-vous pour continuer
PS E:\InterSystems> python -m grongier.pex._cli
Traceback (most recent call last):
  File "C:\Program Files\Python39\lib\runpy.py", line 188, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "C:\Program Files\Python39\lib\runpy.py", line 111, in _get_module_details
    __import__(pkg_name)
  File "C:\Users\Cyril.Grosjean\AppData\Roaming\Python\Python39\site-packages\grongier\pex\__init__.py", line 1, in <module>
    from grongier.pex._business_service import _BusinessService
  File "C:\Users\Cyril.Grosjean\AppData\Roaming\Python\Python39\site-packages\grongier\pex\_business_service.py", line 2, in <module>
    from grongier.pex._business_host import _BusinessHost
  File "C:\Users\Cyril.Grosjean\AppData\Roaming\Python\Python39\site-packages\grongier\pex\_business_host.py", line 9, in <module>
    import iris
  File "C:\Users\Cyril.Grosjean\AppData\Roaming\Python\Python39\site-packages\iris\__init__.py", line 10, in <module>
    raise Exception("""Cannot find InterSystems IRIS installation directory
Exception: Cannot find InterSystems IRIS installation directory
    Please set IRISINSTALLDIR environment variable to the InterSystems IRIS installation directory

Faut-il définir la variable d'environnement sur Windows ? Sur Linux je n'ai pas besoin.