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
PythonPython
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
BashBash
Merci d'avance pour votre aide !
Salut,
Peux-tu essayer cette commande :
Je vais regarder en parallèle, le problème avec windows (pas facile, j'ai pas de VM windows à disposition :()
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.
oui, example :
C:\InterSystems\IRIS\bin>set IRISNAMESPACE = USER
Je pensais plutôt à IRISINSTALLDIR au vu de l'erreur malgré qu'il soit installé directement sur la machine.
J'avais déjà défini IRISNAMESPACE.
J'ai demandé à Jean-Charles qui a des droits d'accès en administrateur à la machine, il a défini manuellement les variables d'environnement et la commande marche.
Quid par contre pour la commande iop, ce n'est pas dérangeant mais il faudra qu'on y pense dans l'exécution des commandes.