Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

[Python] subprocess, lancer un autre programme avec python




  1. #1
    Loupsio

    [Python] subprocess, lancer un autre programme avec python

    Bonjour,
    J'ai actuellement un programme qui marche à la perfection (sous python3, sur ubuntu au moins) et dans ce script, à la fin python lance un script R qui se trouve dans un fichier externe, grace à subprocess, ce qui évite à l'utilisateur d'ouvrir R (ou RStudio) faire un copier coller du code etc..., il a juste à double cliquer sur le script python et les deux programmes s'executent à la suite), et je dois mettre ce programme sur un autre ordinateur, sauf qu'il s'agit d'un Windows 98 (oui ça existe encore, et non il ne suffit pas de le remplacer par une autre version de windows)

    J'ai réussi à installer une version de python sous 98, sauf qu'il s'agit de python 2.3.5 (la dernière version à posséder un installeur en executable, les autres sont en .msi et W98 ne peut pas installer les MSI) et que visiblement subprocess n'avait pas encore été intégré
    Donc à moins que quelqu'un connaissent un moyen simple d'installer les msi sur 98, ma seule alternative est de modifier ce que j'ai fait jusque là,
    Sauf que je ne vois pas comment faire en sorte que python lance un script R sans "subprocess",

    -Est ce qu'il suffirait d'ajouter le dossier subprocess venant d'un ordinateur avec python2.7 (ou python3) sur cette machine, pour que la fonction soit utilisable ou cela nécessite d'autres éléments que le dossier subprocess seul?

    -Est-ce qu'il y à un autre moyen (même légèrement plus long et plus manuel) pour faire lancer à python un autre script (comme lui faire parler a "l'invite de commande" windows et lui dire de lancer "tel fichier" avec R) ?

    -Ou bien faire interpréter directement du language R dans python, j'ai entendu parler de

    Code:
        ro.r()
    utilisable dans le script python directement pour utiliser du code R, mais ca demande l'import de 6 librairies, je doute donc que dans une aussi vieille version de python, toutes ces librairies soient disponibles

    Merci à vous

     Cliquez pour afficher

    -----


  2. Publicité
  3. #2
    CM63

    Re : [Python] subprocess, lancer un autre programme avec python

    Bonjour,

    C'est l'import subprocess qui ne marche pas? Chez moi avec Python 2.7.6 ça marche. Tu as quelle version?

  4. #3
    CM63

    Re : [Python] subprocess, lancer un autre programme avec python

    Sinon pour lancer une commande de l'OS à partir de Python, il suffit de faire:

    Code:
    import os
    os.system("dir")
    Où "dir" est la commande OS: tu remplaces cela par le lancement de ton script.


  5. #4
    Loupsio

    Re : [Python] subprocess, lancer un autre programme avec python

    C'est l'import subprocess qui ne marche pas? Chez moi avec Python 2.7.6 ça marche. Tu as quelle version?
    Citation Envoyé par Loupsio
    J'ai réussi à installer une version de python sous 98, sauf qu'il s'agit de python 2.3.5 (la dernière version à posséder un installeur en executable, les autres sont en .msi et W98 ne peut pas installer les MSI) et que visiblement subprocess n'avait pas encore été intégré

    Je ne peux pas installer de version ultérieur sur le windows 98, donc pas de 2.7 (et encore moins python3 que j'utilise d'habitude)


    Sinon pour lancer une commande de l'OS à partir de Python, il suffit de faire:
    Code:
    import os
    os.system("dir")
    Où "dir" est la commande OS: tu remplaces cela par le lancement de ton script.
    Ok, merci,
    par contre je suis pas sur de savoir lancer R en commande sous windows ^^
    Dernière modification par Loupsio ; 24/11/2016 à 22h53.

  6. #5
    CM63

    Re : [Python] subprocess, lancer un autre programme avec python

    Citation Envoyé par Loupsio Voir le message
    par contre je suis pas sur de savoir lancer R en commande sous windows ^^
    Je suppose que tu le lances en double cliquant sur un icone? Sur cet icone fait click droit -> (adresse du logiciel ou quelque chose comme ça) et tu peux récupérer la commande à mettre dans le os.system()

  7. A voir en vidéo sur Futura
  8. #6
    Loupsio

    Re : [Python] subprocess, lancer un autre programme avec python

    Ah cool,
    Je testerai ca demain, je n'ai pas accès au pc en question actuellement,
    Merci beaucoup

  9. #7
    Loupsio

    Re : [Python] subprocess, lancer un autre programme avec python

    Bonsoir,
    Finalement os.system() ne fait pas vraiment ce que je cherche,
    avec la version de R disponible sur le vieux 98, lancer :
    Code:
    Rterm "monScript.R"
    dans l'invite de commande ouvrira uniquement R en invite de commande (prêt a recevoir des commandes R), mais ne permet pas de sourcer directement monScript.R

    j'ai pu le sourcer grace à l'option
    Code:
    Rterm -f monScript.R
    sauf que celle ci (l'option -f suivi du nom du fichier à sourcer) ne fonctionne qu'avec une version récente de R (version non disponible sur W98)

  10. Publicité
  11. #8
    CM63

    Re : [Python] subprocess, lancer un autre programme avec python

    Tu peux essayer de faire un pipe:


    Code:
    Rterm < monScript.R
    Donc en fait :

    Code:
    os.system("Rterm < monScript.R")
    Si ça ne marche pas, essaie:

    Code:
    os.system("cat monScript.R | Rterm")

  12. #9
    Loupsio

    Re : [Python] subprocess, lancer un autre programme avec python

    bon j'ai abandonné l'idée ^^ les deux se lancerons séparemment et tant pis,
    sous windows normal je suis sur que ca aurait marché, mais sous 98 c'est juste un enfer --' rien que lancer Rterm (ce que j'arrivais a faire avec la version de python et R installé sur le 98, mais testé sur un WSeven) ne passent pas lorsque je tente sur le 98
    En tout cas merci quand même

  13. #10
    Ludwig1

    Re : [Python] subprocess, lancer un autre programme avec python

    Salut,
    Citation Envoyé par Loupsio Voir le message
    bon j'ai abandonné l'idée ^^ les deux se lancerons séparemment et tant pis,
    sous windows normal je suis sur que ca aurait marché, mais sous 98 c'est juste un enfer --' rien que lancer Rterm (ce que j'arrivais a faire avec la version de python et R installé sur le 98, mais testé sur un WSeven) ne passent pas lorsque je tente sur le 98
    En tout cas merci quand même
    Je ne sais pas si on peut dans python accéder aux fonctions de Windows. Si c'est le cas, tu peux utiliser la fonction

    CreateProcess Ici https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

    ça marche à partir de Win 95 jusqu'à Win 10 sans PB

    Cordialement


    Ludwig

  14. #11
    Loupsio

    Re : [Python] subprocess, lancer un autre programme avec python

    Nan mais j'arrivais déjà pas a me déplacer dans l'invite de commande (MS DOS sous 98) donc c'est tendu dès le départ ^^
    les :
    Code:
    cd Path/to/folder
    refusent de marcher correctement a partir du moment ou il y à un espace dans le nom de dossier ("Program and something x86" par exemple), j'ai essayé avec des apostrophes pour encadrer le path, des guillemets, même échaper le caractère espace avec slash ou antislash, et que dalle ... si déjà en MS DOS j'arrive pas à me déplacer... , sachant que la version de python installée est obsolète, même si j'arrive a feinter pour me déplacer en MS DOS, jsuis pas sur que ca marchera une fois que ce sera python qui s'en chargera

    Merci quand même

Discussions similaires

  1. en python le multi tache n'est pas possible alors pourquoi les threads existent sur python?
    Par docEmmettBrown dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 10/06/2015, 16h47
  2. Programme python
    Par THESO dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 20/09/2013, 22h52
  3. Lancer une commande makefile depuis python
    Par boulbidor dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 19/04/2013, 13h32
  4. Programme en Python
    Par dj_titeuf dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 19/09/2011, 20h14
  5. Execution d'un programme avec python
    Par Chrysander dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 06/09/2004, 17h47