Bonjour tout le monde.


J'ai développé dans le cadre de mon boulot un petit soft. Je suis en ce moment en phase de tests avant validation et je m'intéresse également à sa portabilité. En ce moment il tourne uniquement sur un PC muni de l'interpréteur Python et des quelques librairies utilisées. Je bosse pas du tout dans l'informatique et les gens qui seront ammenés à l'utiliser ne connaitront même pas le nom de "Python".

Bref je veux en faire un exécutable. Je développe ce truc pour partie au bureau (W7) et sur mon temps libre (Linux). Je me suis donc orienté vers cx_freeze (même setup.py sur les deux machines).

J'ai lu l'excellent petit tuto de Tyrtamos (merci à lui ). Je suis capable de créer un exécutable avec un script bidon contenant:
  1. plusieurs modules créés par moi-même [includes]
  2. une référence à un fichier de données [includes_files]
  3. une interface bidon en tkinter


J'ai là l'essentiel des choses qui m'intéressent. Mon problème c'est que je ne trouve rien sur la gestion des arborescence sur internet. Je vais essayer d'expliquer simplement ce que je souhaite :

Mon programme utilise deux répertoires au même "niveau" dans l'arborescence, l'un dans lequel des log files sont créés, et l'autre contenant des données. C'est surtout ce dernier qui me pose un soucis car son contenu n'est pas connu d'avance. Un certain nombre de sous-dossier sont créés par l'utilsateur chacun contenant quatre fichiers. Ces sous-dossiers définissent des objets dans mon code. Voici un sketch simple:


root
>>module1.py
>>module2.py
>>main.py
>>LogFiles
>>Objects
>>>Object1
>>>>data1.dat
>>>>data1.dat
>>>Object2
>>>>data1.dat
>>>>data1.dat

Les noms des objets est laissé au bon soin de l'utilisateur. Cette architecture me semble être simple pour l'utilisateur (ce que je trouve bien ne l'est pas forcément pour tout le monde cela dit).

Est-ce que vous auriez une idée de comment gérer cela? Je n'y parviens pas, ni avec includes, ni avec includes_files ni avec le sys.path (cela dit c'est peut-être moi qui merde).

Je peux si nécessaire copier mon setup.py mais pas avant ce soir après le boulot (oui je sais c'est pas bien de venir ici au lieu de bosser

Merci!


PS: J'utilise python 2.7, linux et windows

Ju