Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créé un fichier executable

Débutant sous python

Sujet résolu
    2 août 2011 à 18:31:13

    Bonjours

    Voila je commence doucement sous python et je rencontre certains soucis mineur :

    J'arrive à mettre le programme dans un .py et à l'exécuter via python3.2 main.py . ce que j'aimerai faire maintenant est de faire en sorte que le .py soit un fichier exécutable comme un autre (faire comme une compilation).

    Je sais que python est un langage interprété et non compilé mais es-ce que sa change grand chose ? Dans ma console, j'aimerai juste faire un ./monprogramme pour l'exécuter. Es-ce possible ?

    Merci de me renseigner la dessus :)
    • Partager sur Facebook
    • Partager sur Twitter
      2 août 2011 à 20:40:39

      Pour ça c'est simple : tu mets au début de ton fichier #!/usr/bin/env python3 et tu fais un chmod +x main.py (en supposant que tu sois sous un unixoïde).
      Après, il te faudra obligatoirement python3 sur ta machine.
      • Partager sur Facebook
      • Partager sur Twitter
        2 août 2011 à 20:45:41

        pour moi oui mais pour un utilisateur de windows il fait comment ? Je m'explique sous windows, on n'utilise que des .exe comme programmes. Le .exe correspond à la forme binaire du programme. Il serais bête de demander aux windowsiens de lancer le programme via python alors qu'on pourrait mettre le code sources dans le .exe et les bibliothèques de python qui sont nécessaire sous formes de dlls.
        • Partager sur Facebook
        • Partager sur Twitter
          2 août 2011 à 20:51:42

          Ah, pour ça il y a py2exe.
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            2 août 2011 à 20:54:16

            On en a déjà parler maintes fois, ton exe créé sera plus lourd que l'installation python elle-même.

            Mieux vaut installer python sur son système.
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              2 août 2011 à 21:14:16

              Citation : FirstZero

              Dans ma console, j'aimerai juste faire un ./monprogramme pour l'exécuter. Es-ce possible ?



              Visiblement tu sais comment ça marche sous Linux. Alors sache que c'est encore plus simple sous Windows : Il suffit que l'utilisateur ai installé Python et tous les fichiers .py deviennent des exécutables. ;)
              • Partager sur Facebook
              • Partager sur Twitter
                2 août 2011 à 21:14:38

                Très bien merci (dommage sous Linux sa ne m'aurait pas gêner mais sous Windows un petit peu quand même :) ).

                Dernière question : Supposons que j'ai plusieurs fichiers. Pour lancer le programme, faut-il que je lance main.py uniquement (le tout premier fichier) ?

                Edit : merci PsycoPy pour ta réponse.
                • Partager sur Facebook
                • Partager sur Twitter
                  2 août 2011 à 22:43:05

                  Citation : FirstZero


                  Dernière question : Supposons que j'ai plusieurs fichiers. Pour lancer le programme, faut-il que je lance main.py uniquement (le tout premier fichier) ?



                  Si par plusieurs fichiers tu entends "un main qui possède un import fait maison (autre .py)" oui. :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 août 2011 à 23:12:08

                    oui c'est ce que je voulais dire :) Merci à vous tous pour vos réponse.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 août 2011 à 0:22:40

                      Le principe de py2exe et tous les logiciels de ce genre, c'est de créer un logiciel qui utilise l'api C de python et mets les codes sources dans des variables C pour créer un executable, donc en plus c'est pas portable.

                      Pour les fichiers, renseignes toi sur les modules, notamment le fichier __init__.py a créer pour ça ;) .
                      • Partager sur Facebook
                      • Partager sur Twitter
                        3 août 2011 à 14:40:28

                        Salut,
                        En java il existe des programmes (JSmooth par exemple) qui s'il détecte une jvm installée l'utilise simplement pour lancer le programme et sinon aide l'utilisateur à l'installer (ou juste affiche une erreur propre pour indiquer à l'utilisateur de l'installer).
                        Ainsi on a un exécutable très léger qui soit fonctionne et lance le programme soit explique pourquoi il ne fonctionne pas.
                        Je ne sais pas pour python mais comme ça me semble très simple à faire ça existe peut être.

                        Sinon la méthode d'anonymous fonctionne aussi avec python 2, en utilisant
                        #!/usr/bin/python
                        
                        au début du fichier, où pour être plus générique le chemin vers l'interpréteur (qu'il soit shell, python, php, ...).
                        Pour avoir ce chemin :
                        which python
                        
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          3 août 2011 à 14:55:01

                          Pour un shebang portable (d'une distrib à une autre) :
                          #!/usr/bin/env python3.2
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Créé un fichier executable

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown