Du RAD Python/wxPython avec boa-constructor

Billet à l’état de brouillon (lisible). Je reviendrai pour une mise en format.
Je cherche un outil pour faire du RAD python. J’ai envie d’avoir une interface pour construire la GUI
Les licences commerciales komodo edit, wing IDE, sont chere et les version d’évaluation limitée
Eric Python IDE se base sur Qt, j’aimerai éviter d’ajouter des dépendances à python alors que sa bibliothèque de module est très riche.
pyDev utilise Eclipse mais n’a pas d’éditeur graphique pour la GUI je trouve ça dingue.
Je suis donc tombé sur « boa-constructor » qui utilise wxPython. Pourquoi pas. J’ai trouvé peu de doc et tuto (texte/vidéo) dessus ce n’est pas très bon signe.

Les seuls témoignages que j’ai trouvé utilise boa sous windows donc pour ne pas ajouter de difficultés je lance l’install pour cet OS. Il faut dire aussi que si je souhaite que mes collègues se penchent dessus il faut commencer par là.
Mais j’ai l’intention de porter mon code sous Linux et éventuellement Mac OS X.

Sous Windows J’ai installé python27 et wxPython3.0 (64bits) et wxDemoDoc pour tous les utilisateurs sans soucis.
J’ai maintenu les répertoires d’install par défaut.
les démos xpPython fonctionnent bien c’est un bon point, c’est une GUI multi-panneaux avec la liste des démos, et des onglets pour voir le résultat et le code. Chouette !
python installe aussi de la doc et un tuto qui me semble bien efficace.

L’installation de boa-constructor (win.src) plante avec le message « Python version required, which was not found in the registry »
Ce sujet pointe sur le fait que l’installation ne lit pas correctement la base de registre (hkey_local_machine)

http://stackoverflow.com/questions/3008509/python-version-2-6-required-which-was-not-found-in-the-registry

Astuce de correction : Copier les clés dans hley_current_user. J’ai exporté le .reg et modifié les chemins dans le registre.

L’installation de boa trouve alors les infos et s’installe…. mouais ils auraient pu faire un raccourci quand même.
Bon on va le chercher dans le répertoire d’install de python \Lib\site-packages\boa-constructor.

Et la patatrac : la console se lance se referme, pas de GUI.
Je vais pour le lancer à la main via la console ‘cmd’ mais python.exe n’est pas trouvé, il faut d’abord l’ajouter dans le path de windows.
Depuis la console je peux alors lancer manuellement boa et là j’ia le crash avec le message suivant :

C:\Python27\Lib\site-packages\boa-constructor>python.exe Boa.py
Starting Boa Constructor v0.6.1
importing wxPython
reading user preferences
Traceback (most recent call last):
File « Boa.py », line 271, in
import Preferences, Utils
File « C:\Python27\Lib\site-packages\boa-constructor\Preferences.py », l
in
execfile(file)
File « C:\Users\Administrateur\.boa-constructor\prefs.rc.py », line 26,
splitterStyle = wx.SP_LIVE_UPDATE | wx.SP_3DSASH | wx.NO_3D
AttributeError: ‘module’ object has no attribute ‘NO_3D’

Une recherche google me donne un lien me disant que la GUI est vieille et surement pas compatible avec wxPython. Fait chier !
Hé oui on est passé à la version 3.0. Je n’ai pas envie de revenir en arrière juste pour une histoire d’option.

http://stackoverflow.com/questions/21304450/can-not-start-boa-constructor-successfully

Visiblement il faut bosser avec un fork dans bitbucket qui aurait des mises à jour plus récentes.

Bon j’insiste je fais un essai en supprimant cette option de fenêtrage dans tous les fichiers de boa :
C:\Users\Administrateur\.boa-constructor\prefs.rc.py
C:\Python27\Lib\site-packages\boa-constructor\
Une assertion plante mais je demande de continuer, et là la GUI s’affiche. Je tripote les boutons ça m’a l’air fonctionnel.

Malgré tout je fais un tour dans bitbucket et effectivement le fork est plus frais.

https://bitbucket.org/tuck/boa-constructor/src

Je télécharge la dernière version des sources et l’IHM est lancée. Je vais donc conserver cette version et essayer de me tenir au courant des updates.

C’est tout pour aujourd’hui. J’essairai d’ajouter quelques captures.

Point d’entrée pour apprendre à développer : j’ai trois objectifs : la prise en main de boa, la prise en main de wxPython, et python avec ses modules.
J’utilise python pour scripter mais j’aimerais coder une vrai application.

Il y a plusieurs solutions : les bouquins, les magazines spécialisés, les vidéos, les codes sources de démo.
Pour un début on a envie de progresser assez vite, donc je privilégerais les doc qui sont urientée sur l’utilisation de python/wxPython pour privi

Pour la prise en main de boa :
Tutoriels vidéo en ligne à suivre : http://showmedo.com/videotutorials/series?name=wKQrywla5
Turoriel texte : http://boaconstructor.tuxfamily.org/Doc%20Boa%20constructor/Docs%20Boa%20constructor.html

Pour la suite avec python : le tutoriel est installé avec python. Il parait court. La manuel de référence aussi. Il y a pleins de pdf en ligne gratuits, donc la qualité est variable. Je n’ai pas de recommandations.

Pour la suite avec wxPython : des tutos vidéos et des tutos textes en pagailles
voir ce lien : http://wiki.wxpython.org/How%20to%20Learn%20wxPython

À propos de Selso

Salut ! Je m'appelle Selso. Je vis à Saint-Etienne depuis 2005. Je suis ingénieur en informatique embarquée en poste chez CIO Systèmes Embarqués.
Cette entrée a été publiée dans Développement. Vous pouvez la mettre en favoris avec ce permalien.

Laisser un commentaire