[RESOLU] Test script en local

Share here your tips or issues concerning WAPT Console or WAPT Agent / Venez ici partager vos problèmes et astuces concernants la console et l'agent WAPT
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
david999
Messages : 8
Inscription : 09 juil. 2018 - 09:44

10 juil. 2018 - 12:12

Bonjour,

désolé si la réponse peut vous paraitre évidente, mais je débute en Python.
A l'heure actuelle, je créé plusieurs paquets sur le serveur Wapt puis les déploie.
Si j'ai des modifications à faire, je modifie le setup.py du paquet sur le serveur, puis je rebuild le package et le déploie à nouveau.
Le problème, c'est que lors de phases de tests, je me retrouve à rebuilder le package des tonnes de fois juste pour tester une fonction ou une syntaxe.

N'y a-t-il pas possibilité, depuis le poste client, d'exécuter des fonctions présentes dans le setuphelpers directement afin d'effectuer ces tests?
Lors que je tente d'importer setuphelpers sur le poste client, j'ai le message d'erreur:
No module named setuphelpers


Si quelqu'un a une solution, je suis preneur!!!

Merci d'avance.
Dernière modification par david999 le 12 juil. 2018 - 23:31, modifié 1 fois.
Avatar de l’utilisateur
htouvet
Expert WAPT
Messages : 402
Inscription : 16 mars 2015 - 10:48
Contact :

10 juil. 2018 - 19:54

Voir PyScripter, et les configuration de tests :
https://www.wapt.fr/fr/doc/CreationPaqu ... index.html

Wapt a sa propre installation Python (=virtualenv)
Votre environnement de test local doit donc être configuré pour utiliser le virtualenv de wapt

Avec PyScripter, il ets très facile de tester votre paquet et les fonctions setuphelpers (shell python intégré : "from setuphelpers import * " )
Tranquil IT
david999
Messages : 8
Inscription : 09 juil. 2018 - 09:44

11 juil. 2018 - 18:40

Bonjour htouvet,

merci beaucoup pour votre réponse.
Je rencontre cependant un problème pour lancer PyScripter.
En effet, après l'avoir installé sur le poste client via Wapt, je ne parviens pas à l'ouvrir. Lors du lancement, il me donne comme message d'erreur:
Could not load a python engine

J'ai vu qu'il fallait installer une version 32 bits de Python pour que cela fonctionne avec PyScripter.
https://github.com/pyscripter/pyscripte ... nstall.txt

J'ai vu également un moyen de contourner le problème en ajoutant un fichier batch dans le dossier de l'exe de PyScripter:
https://groups.google.com/forum/#!topic ... BbYQSCO0uQ

Contenu du fichier batch:
SET PYTHONHOME=C:\Python27
PyScripter --PYTHON27 --PYTHONDLLPATH "C:\Python27"

Malgré tout, je n'arrive pas à ouvrir PyScripter.
Selon le message d'erreur "Could not open DLL file : Error 193", ce serait un problème d'architecture incompatible avec la DLL.
Le poste est sous Windows 7 64bits.
Faut-il télécharger une dll python27.dll spécifique? Et si oui, où peut-on la récupérer?


Merci d'avance pour votre aide.

David
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 1783
Inscription : 10 juil. 2014 - 23:52
Contact :

11 juil. 2018 - 18:53

Vous devez lancer pyscripter à travers wapt.

Clique droit sur un paquet puis éditer.

Ou utiliser "Assistant création de paquet" depuis la console.

Ou ouvrir un psproj déjà existant avec C:\Program Files (x86)\wapt\waptpyscripter.bat
Dans pyscripter -> projet -> ouvrir un projet -> ouvrir un psproj
david999
Messages : 8
Inscription : 09 juil. 2018 - 09:44

11 juil. 2018 - 19:36

Bonjour,

merci pour ces infos.
Je parviens maintenant à ouvrir le psproj du paquet concerné depuis PyScripter.
Cependant, lorsque j'exécute le code présent dans le fichier setup.py, il me renvoie l'erreur:
No module named setuphelpers.

Dans l'arborescence du psproj dans PyScripter, je vois bien un fichier setuphelpers, mais:
1. Je ne sais pas comment faire pointer sur celui-ci
2. Le fichier setuphelpers est vide!

Désolé, j'imagine que ma demande est très bateau et simple, mais je ne vois pas trop comment faire...


Encore merci pour votre aide.


David
Avatar de l’utilisateur
htouvet
Expert WAPT
Messages : 402
Inscription : 16 mars 2015 - 10:48
Contact :

12 juil. 2018 - 09:23

Bonjour,

Rassurez-vous, ce que vous demandez n'est pas trivial...
Il ya potentiellement 2 problèmes :
- environnement python
- chemins dans le fichier wapt.psproj

Environnement Python :

En fait Wapt a son propre interpréteur et environnement Python (dans c:\program files(x86)\wapt)
Et PyScripter ne connait pas à priori l'existence de cet environnement.

Si vous avez la version 3.4.1 de PyScripter (celle qui est dans notre dépôt), il y a une fonction qui permet d'ajouter à PyScripter le chemin vers l'environnement Python de Wapt, pour que toutes les bibilothèques associées (dont setuphelpers) soient disponibles.

Menu Exceuter / Python Versions / Setup Python
Là cliquer le bouton + et sélectionner le répertoire de Wapt (par défaut c:\program files(x86)\wapt)
Dans la liste "Unregistred Versions", selectionner le folder Wapt et appuyer sur le premier bouton en haut à gauche (Activate selected python version)

à partir de là... vous pouvez tester et débugguer sans erreur...

Il y a un bouton (icone Python) dans la toolbar de PyScipter pour faire la même chose.

L'autre solution est de partir de Waptconsole pour editéer le paquet. Quand la console lance PyScipter, elle met en place les variables d'enrionnement et les arguments corrects pour que pyscripter utilise l'interpréteur de Wapt.

Une autre solution est de faire en ligne de commande :
wapt-get edit <nomdupaquet>

Ce qui fait la même chose que dans la console.

Chemins dans le fichier wapt.psproj

Le fichier wapt.psproj mémorrise les chemins (absolus dans les versions antérieures de Wapt...) vers notamment le fichiers wapt-get.py.

wapt-get.py est utilisé pour tester les paquets.

Vous devez vérifier par un clic droit sur la configuration d'exécution (Run configuration) par exemple "install" / Editer la configuration d'exécution.

Le Script python / Nomde fichier : doit pointer vers le bon répertoire par rapport à votre installation. Normalement c:\Program files(x86)\wapt mais avant c'était c:\wapt)
Tranquil IT
david999
Messages : 8
Inscription : 09 juil. 2018 - 09:44

12 juil. 2018 - 09:52

Bonjour htouvet,

un grand MERCI!
Après avoir ajouté le chemin du dossier Wapt dans "Unregistred Versions" et l'avoir activée, tout fonctionne!
Je vais enfin pouvoir faire tous mes tests en local sur mon poste de test.

La solution sur le serveur est intéressante également, mais dans ce cas c'est surtout pour tester des choses sur un poste spécifique.
Et, en effet, les chemins dans le fichier wapt.psproj pointent vers l'ancien dossier d'installation de Wapt.
J'ai donc pu les modifier.

De nouveau, merci beaucoup pour votre aide et toutes ces explications détaillées!!!


Bonne journée

David
Verrouillé