Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Python] Créer un .exe

:'(

Sujet résolu
    3 avril 2009 à 18:40:25

    Bonjour,
    comment faire pour rendre un fichier python executable ?
    Imaginons que j'ai crée un programme, et que je voudrais le distribuer sans que les utilisateurs installent python. :(
    Merci de votre aide !
    • Partager sur Facebook
    • Partager sur Twitter
      3 avril 2009 à 19:34:13

      30 secondes de recherche sur google en cherchant python executable : http://www.py2exe.org/
      • Partager sur Facebook
      • Partager sur Twitter
        3 avril 2009 à 19:48:58

        Personnellement je ne crois pas que py2exe soit la bonne solution. Ça produit des gros exécutables, et puis c'est pas naturel... Python est un langage interprété, pourquoi chercher à tout prix à faire un exécutable ?
        Un peu comme Java, pour exécuter du Java il faut une machine virtuelle Java installée, pour Python c'est pareil. La seule différence, c'est que Python est moins populaire que Java.
        • Partager sur Facebook
        • Partager sur Twitter
          3 avril 2009 à 20:37:51

          py2exe ne fait que fournir une machine virtuelle et l'environnement nécessaire ;)
          Ce qui est gros, ce n'est pas l'exécutable, c'est les lib qui l'accompagnent, quand on ne les a pas filtré. Y'a toujours moyen de supprimer les lib superflues soi-même.
          • Partager sur Facebook
          • Partager sur Twitter
            3 avril 2009 à 20:43:55

            "Ça produit des gros exécutables" -> pas plus gros que l'interpréteur Python
            "Pourquoi chercher à faire un exécutable" -> Parce que si je destine mon programme à des gens qui ne savent pas bien se servir de leur ordinateur, pour leur confort, je leur donne un truc tout prêt, avec les sources disponibles pour ceux qui les veulent. Pareil pour ceux qui ne veulent pas installer Python sur leur machine, je ne vais pas les forcer.
            "Un peu comme Java" -> Oui, mais Java, presque tout le monde l'a, et si quelqu'un ne l'a pas, c'est une bonne chose qu'il le récupère. Les applets java, par exemple, ça peut pas être du compilé. Après, pour ceux qui ont Python ou qui veulent voir tes sources ou qui sont des fanatiques du libre, met leur tes sources avec.

            Mais sinon, je suis tout à fait d'accord, Python est pour l'instant un langage interprété. L'idéal ça serait que les gens l'installent (en plus ça prendrait qu'une seule fois de la place, même pour plusieurs programmes), mais je ne peux pas les forcer, et je ne préfère pas faire stresser quelqu'un ni lui expliquer pendant une heure qu'il a besoin d'installer Python pour pouvoir utiliser mon programme. C'est souvent plus rassurant quand tout est fourni.
            • Partager sur Facebook
            • Partager sur Twitter
              3 avril 2009 à 21:21:25

              Oui, je sais, c'est plus confortable pour le néophyte.
              Quand je disais ça prend de la place, je parlais effectivement du fait que lorsque 2 programmes python sont installés, on a deux interpréteurs installés.
              Si tout le monde avait Python installé ce serait plus simple, et ce n'est pas utiliser py2exe qui va aider à répandre Python...
              Ah la la... Sous Linux on n'a pas ce genre de problème... Quand on installe un paquet on installe les dépendances avec et puis basta...
              • Partager sur Facebook
              • Partager sur Twitter
                3 avril 2009 à 21:40:55

                Mon but n'est pas de répandre Python mais de distribuer mes programmes. Et en plus, ça change rien, c'est pas parce quelqu'un a Python installé sur sa machine qu'il va s'en servir, avec un peu de chance il ne se rendra même pas compte qu'il y est...
                Et sous windows, il n'y a pas tellement de problème, tu peux faire un installateur qui vérifie que Python soit bien installé et qui l'installe au cas où. Avec Linux, si le mec ne veut pas de Python, le problème reste entier.
                • Partager sur Facebook
                • Partager sur Twitter
                  3 avril 2009 à 21:43:32

                  Que l'utilisateur ne sache pas qu'il aie Python n'est pas un problème. Au moins il ne l'aura installé qu'une fois.

                  Bref, conclusion : utilisez un langage compilé :p !
                  Je connais un langage compilé aussi simple que Python, il s'appelle Icon, quelqu'un connais ? J'aime bien.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    3 avril 2009 à 22:02:02

                    J'aime pas trop le style... Des langages compilés aussi "simples" que Python, il y en a beaucoup, mais déjà Python n'est pas si simple que ça, et en plus, la caractéristique déterminante d'un langage, c'est pas sa simplicité.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      3 avril 2009 à 22:05:50

                      Citation : Maxibolt

                      J'aime pas trop le style...



                      Par style, tu veux dire ? Syntaxe ? Paradigme ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        3 avril 2009 à 22:08:35

                        Ça se rapproche plus de "syntaxe", mais c'est pas tout à fait ça. Style, quoi.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          3 avril 2009 à 22:12:10

                          Citation : Maxibolt

                          Ça se rapproche plus de "syntaxe", mais c'est pas tout à fait ça. Style, quoi.


                          Je vois à peu près. :p
                          • Partager sur Facebook
                          • Partager sur Twitter
                            5 avril 2009 à 9:19:14

                            Citation : Miphys

                            Bref, conclusion : utilisez un langage compilé :p !



                            Bah si l'envie nous prend de vouloir diffuser nos programmes Python, rien ne nous en empêchera !
                            Il y a solution à tous problèmes.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              5 avril 2009 à 12:41:09

                              Citation : Affening

                              Citation : Miphys

                              Bref, conclusion : utilisez un langage compilé :p !



                              Bah si l'envie nous prend de vouloir diffuser nos programmes Python, rien ne nous en empêchera !
                              Il y a solution à tous problèmes.



                              Oui, la solution est de faire télécharger Python au client.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                5 avril 2009 à 12:50:52

                                Il existe des projets de compilateurs(comme G++ ou ocamlopt) qui produisent un code autonome, j'en connais deux:
                                • shed skin
                                • PyPy(il me semble que c'est le plus avancé ;) , ref nécessaire comme ils disent à wikipédia :D )


                                Et pour Icon, c'est inspiré du Pascal non ?

                                Lucky-84 :)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  5 avril 2009 à 14:38:01

                                  Moche comme c'est, ça m'étonnerait pas. (Non sebi, ça compte pas comme du troll ça)

                                  shed skin et Pypy n'ont pas le même but que Py2exe : eux ils veulent vraiment compiler le Python (le transformer en C++ pour shed skin, Pypy je crois que c'est direct une compilation mais je suis pas sûr), alors que Py2exe embarque ce qu'il faut de l'interpréteur et le code dans le même fichier exécutable, ce qui permet de l'exécuter sans l'interpréteur installé.

                                  Miphys -> t'as rien compris du tout ou tu fais exprès ? :-°
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    5 avril 2009 à 14:53:27

                                    Citation : Maxibolt



                                    Miphys -> t'as rien compris du tout ou tu fais exprès ? :-°



                                    Je suis juste pas d'accord avec toi. :D
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      5 avril 2009 à 14:57:04

                                      T'as jamais eu à donner à quelqu'un qui s'y connaît pas trop un programme Python.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        5 avril 2009 à 15:05:02

                                        Citation : Maxibolt

                                        T'as jamais eu à donner à quelqu'un qui s'y connaît pas trop un programme Python.


                                        Si.
                                        Je lui ai dit :
                                        << Pour faire fonctionner mon programme, tu as besoin de télécharger un logiciel qui s'appelle Python. C'est gratuit, ça se télécharge et s'installe rapidement et facilement, voilà. >>
                                        En général la personne ne se pose pas de questions. Si elle veut absolument savoir pourquoi il faut télécharger Python, je lui explique rapidement que j'ai écris le programme dans un langage informatique que son ordinateur ne comprend pas, il lui faut donc un "traducteur". Si la personne est pas trop stupide tout se passe très bien.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          5 avril 2009 à 23:22:10

                                          Pas besoin d'être stupide, j'en connais qui n'aiment pas qu'on installe plein de trucs en plus sur leur ordinateur, et qui sont très contentes qu'on leur donne des logiciels prêts à l'emploi. Tu es tombé soit sur quelqu'un qui te fait complètement confiance (donc qui te connaît très bien), soit qui a peur de te contrarier (et tu l'embêtes quand même), soit qui s'y connaissait déjà un peu (là ok, c'est ptet la bonne solution), soit sur un pigeon.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            11 février 2013 à 15:05:16

                                            je trouve que Maxibolt est le plus réaliste
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              11 février 2013 à 15:26:00

                                              Maxibolt a écrit:

                                              Avec Linux, si le mec ne veut pas de Python, le problème reste entier.

                                              Avec Linux, si le mec ne veut pas de Python il n'installe pas Linux. (Ça marche aussi avec Perl ou bash)

                                              Je déplace ce sujet dans la catégorie idoine.

                                              -
                                              Edité par nohar 11 février 2013 à 15:31:02

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Zeste de Savoir, le site qui en a dans le citron !

                                              [Python] Créer un .exe

                                              × 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