Bonjour,
Après de nombreuses recherches sur le net, je n'ai pu trouver la solution répondant à mon problème.
Je suis en train de développer un outil (avec interface graphique) permettant de lancer des scripts python de projets différents.
Afin de ne pas avoir de problème de dépendances, je demande à l’utilisateur de cibler le répertoire du projet ainsi que le script qu'il souhaite lancer.
Pour développer cet outil j'ai donc dans mon IDE un projet "outil_benchmark" qui est le projet intégrant l'IHM, et un projet "projet_test" qui regroupe différents scripts de test à appeler. Evidemment, le but final est que l'outil soit compilé en exécutable et que donc le projet "outil_benchmark" disparaisse de l'IDE.
Dans mon arborescence "projet_test", j'ai:
projet_test
__init__.pymodule_1__init__.pyscript_a_lancer.pymodule_2__init__.pyimport_particulier.py
Pour être lancé, le "script_a_lancer.py" importe "import_particulier.py". "import_particulier.py" fait lui appel à de nombreux autres import présents dans "projet_test".
Lorsque l'utilisateur entre le répertoire du projet à utiliser, j'utilise
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 sys.path.append('chemin/du/projet') print (sys.path) #le lien a bien ete ajoute au PYTHONPATH from module_sous_projet import * #les projets etant gros, j'ai besoin de tout importer en une seule fois ... proc = subprocess.Popen(['python', 'script_a_lancer.py'])
La lancement se fait, mais plante dès l'import de "import_particulier.py", me disant que ce module n’existe pas...
Pourtant, je vérifie bien plus haut que tout le projet fait parti du PYTHONPATH.
D'où ma question, ai-je oublié quelque chose ou ai-je mal manipulé le package sys ?
Je m'excuse par avance mais je ne peux pas recopier le code ici, il est sur un pc où toutes les sorties de documents sont bloquées par sécurité. Les lignes sont recopiées à la main.
Cordialement,
Poalcospe
Partager