Bonjour à tous,
Essayant par tous les moyens de lancer un petit script faisant appel à la directive subprocess.Popen, je rencontre quelques difficultés :
En l'exécutant, je me retrouve avec une erreur bien étrange :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #!/usr/bin/env python import os, subprocess, sys, socket, time, struct, random, argparse... (...) Exe = os.path.join(os.path.join(os.environ["PERSO_HOME"], "bin"), "fichier") Config = os.path.join(os.getcwd(),fichier) GoProcess = subprocess.Popen("%s -c %s" % (Exe, Config), stdout=sys.stdout)
Ce script fonctionnait parfaitement lorsque j'étais sous Windows, et là depuis le changement sous Mac, ça me pond une erreur de fichier inexistant O_o.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 # ./PRED.py -f 1 -p 1 Traceback (most recent call last): File "./PRED.py", line 245, in <module> sumoProcess = subprocess.Popen("%s -c %s" % (Exe, Config), stdout=sys.stdout) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 672, in __init__ errread, errwrite) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1202, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory
Pour info, Python est bien installé (dans sa version 2.7), les librairies sont bien incluses en début de script, et Exe / Config correspondent respectivement au chemin absolu vers l'exécutable que je souhaite lancer, et un fichier de paramètres. Les chemins existent bel et bien et les magouilles avec join() et la variable d'environnement utilisée fonctionnent bien également.
Une idée ?
Merci par avance !![]()
Partager