IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Problème de lancement de script sous windows


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème de lancement de script sous windows
    Bonjour à tous,

    Je vous expose le problème en quelques lignes. Depuis plusieurs jours je tente d'écrire un script capable de m'executer diverses actions dont le lancement d'un autre script python.
    Sous linux tout va bien. Le script lance bien l'autre script et l'execution des deux se passe correctement.
    Le souhaitant compatible windows également je tente donc d'executer mon code sous cet OS et là c'est moins glorieux!!

    Voici donc en premier le code qui pose souci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cmdline = "python "+os.path.abspath("monScript.py")+" -arg1=aaa -arg2=bbb -arg3=ccc -arg4=ddd"
    args = shlex.split(cmdline)
    print(args)
    subprocess.Popen(args)
    Et voici maintenant l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    No such file or directory
    Je précise que j'ai également essayé avec os.system, os.popen, subprocess.call et je n'obtiens que des erreurs diverses dès que je l'execute sous Windows.

  2. #2
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Deux trucs à vérifier*:

    1) As-tu fais un print sur os.path.abspath("monScript.py"), pour vérifier que le chemin produit est bien le bon*?

    2) Et (plus probablement), python est-il dans ton PATH*? Autrement dit, dans une invite de commande, si tu tapes simplement python, est-ce qu’il se lance*? Et si tu donnes le chemin complet de l’exécutable python dans cmdline, est-ce que ça marche*?

    PS*: Quel est l’intérêt de faire*:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cmdline = "python "+os.path.abspath("monScript.py")+" -arg1=aaa -arg2=bbb -arg3=ccc -arg4=ddd"
    args = shlex.split(cmdline)
    …Plutôt que*:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    args = ("python ", os.path.abspath("monScript.py"),
            "-arg1=aaa", "-arg2=bbb", "-arg3=ccc", "-arg4=ddd")

  3. #3
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Bonjour,

    pourquoi ne pas faire simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import MonScript
     
    MonScript.maFunction(arg1, arg2)
    "Etre conscient de la difficulté permet de l'éviter.."
    Lao-Tseu.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour et tout d'abord merci à vous deux pour vos réponses.

    @Mont29 :
    J'ai fait le print de os.path.abspath("monScript.py") et le chemin est correct.
    Python est effectivement bien dans le path de windows.
    Pour ce qui est de mettre le chemin complet de python dans la cmdline je ne veux pas pour conserver une portabilité windows/linux qui m'est indispensable;

    Pour l'intérêt de l'écriture effectivement aucun c'est juste une inattention de ma part.

    @Pacificator :
    Je ne peux pas faire cette méthode car le script en question permet de faire des tests à la suite et ne nécessite que les arguments que je lui ai passé. Il n'y a pas une fonction particulière à exécuter.

Discussions similaires

  1. Problème de lancement d'apache sous windows
    Par sala69 dans le forum Windows
    Réponses: 10
    Dernier message: 06/05/2014, 21h36
  2. problème de lancement des scripts python en windows
    Par zuzudith dans le forum Général Python
    Réponses: 4
    Dernier message: 01/10/2011, 10h51
  3. problème sur un script sous windows
    Par amir1990 dans le forum Général Python
    Réponses: 2
    Dernier message: 04/07/2011, 14h22
  4. [Batch] Problème script sous Windows 7
    Par mimi1255 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 16/02/2011, 13h39
  5. [Wamp] Problèmes de lancement de Wamp sous Windows seven
    Par Clément H. dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 11/01/2011, 12h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo