Partage
  • Partager sur Facebook
  • Partager sur Twitter

Faire un exe avec un un fichier setup.py

    27 novembre 2010 à 18:26:19

    Bonjours.
    Ces dernier temps j'essaye de faire des executable avec mes code.
    J'ai trouver ce tuto.

    Je n'arrive pas à adapté le setup à mon code:
    - Mon code s'appel "test1"
    - Il utilise Tkinter
    - Et aussi une image Gif

    Comment dois-je faire? :(
    Merci d'avance... :)
    • Partager sur Facebook
    • Partager sur Twitter
      27 novembre 2010 à 18:34:13

      Tu crées un dossier (test), tu mets ton fichier test1.py dedans, tu mets setup.py dedans, ressemblant à ça :
      from distutils.core import setup
      import py2exe
      setup(console=['test1.py'])
      


      Puis tu lances une fenêtre ms-dos, tu accèdes au répertoire test grâce à la commande cd, puis tu tapes :
      $ python setup.py py2exe -i Tkinter


      Finalement, dans test/dist (fichier créé après l'extraction), tu places l'image gif.
      • Partager sur Facebook
      • Partager sur Twitter
        27 novembre 2010 à 18:41:09

        Merci de ta réponse :)
        Mais ça ne résoud pas mon problème, car il faut que je configure le code de setup.py et je ne sait pas comment faire...

        Voici le code que je dois modifier (trouver dans le tutoriel que j'ai mis au début):
        #!/usr/bin/python
        # -*- coding: utf-8 -*-
         
        # source d'inspiration: http://wiki.wxpython.org/cx_freeze
         
        import sys, os
        from cx_Freeze import setup, Executable
         
        #############################################################################
        # preparation des options 
        path = sys.path.append(os.path.join("..", "..", "biblio"))
        includes = ["printx", "bibconcours"]
        excludes = []
        packages = []
         
        options = {"path": path,
                   "includes": includes,
                   "excludes": excludes,
                   "packages": packages
                   }
         
        #############################################################################
        # preparation des cibles
        base = None
        if sys.platform == "win32":
            base = "Win32GUI"
         
        cible_1 = Executable(
            script = "test.py",
            base = base,
            compress = True,
            icon = None,
            )
         
        cible_2 = Executable(
            script = "test2.py",
            base = base,
            compress = True,
            icon = None,
            )
         
        #############################################################################
        # creation du setup
        setup(
            name = "test_cx_freeze",
            version = "0.1",
            description = "simple test de cx_freeze avec PyQt4",
            author = "Tyrtamos",
            options = {"build_exe": options},
            executables = [cible_1, cible_2]
            )
        
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          27 novembre 2010 à 18:57:22

          Citation

          from distutils.core import setup
          import py2exe
          setup(console=['test1.py'])



          Le PO n'utilise pas py2exe.

          Citation

          Je n'arrive pas à adapté le setup à mon code:
          - Mon code s'appel "test1"
          - Il utilise Tkinter
          - Et aussi une image Gif



          Déjà mettre le tout dans un seul dossier, je parle de test1.py et l'image GIF.

          Ensuite adapter ce que tu as au tutoriel pour créer ton setup.py

          • Partager sur Facebook
          • Partager sur Twitter
            27 novembre 2010 à 19:10:59

            Bon, j'ai mis test1 et le gif dans un dossier("Pong").
            Puis j'ai modifier le setup:
            import sys, os
            from cx_Freeze import setup, Executable
             
            #############################################################################
            # preparation des options 
            path = sys.path.append(os.path.join("..", "..", "biblio"))
            includes = []
            excludes = []
            packages = []
             
            options = {"path": path,
                       "includes": includes,
                       "excludes": excludes,
                       "packages": packages
                       }
             
            #############################################################################
            # preparation des cibles
            base = None
            if sys.platform == "win32":
                base = "Win32GUI"
             
            cible_1 = Executable(
                script = "test1.py",
                base = base,
                compress = True,
                icon = None,
                )
             
            
            #############################################################################
            # creation du setup
            setup(
                nom = "Pong",
                version = "1.0",
                auteur = "ShikiSokuZeku",
                options = {"build_exe": options},
                executables = [cible_1]
                )
            


            Ca peut marcher?
            • Partager sur Facebook
            • Partager sur Twitter
              27 novembre 2010 à 21:49:56

              Pourquoi au lieu de demander si ça peut marcher, tu n'essayes pas.
              Et si ça ne marche pas, dans ce cas, et seulement celui-ci, tu postes les erreurs, avec le code que tu as écris.
              • Partager sur Facebook
              • Partager sur Twitter
                27 novembre 2010 à 22:21:33

                Je viens d'essayer, mais l'invite de commande n'arrive pas à atteindre le script, donc je l'ai placé dans le dossier, mais là il me dit que "'python n'est pas reconnu comme commande interne ou externe..." enfin vous connaissez la musique...

                Pourtant tout est dans le même répertoire...

                J'ai donc essayé sans crée de dossier, l'executable est bel et bien généré ^^
                Mais la joie est de courte durée car quand je veux l'executer je me tape:
                Image utilisateur
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  27 novembre 2010 à 22:33:19

                  Désolé, je ne peux pas répondre ça bug, donc je le met en réponse rapide.

                  path = sys.path.append(os.path.join("..", "..", "biblio"))

                  est une ligne faisant partie de son exemple, toi tu dois mettre le chemin relatif de ton fichier.py

                  includes = []
                  excludes = []
                  packages = []

                  Ca c'est ok quoi que l'on pourrait mettre tkinter dans includes.

                  base = None
                  if sys.platform == "win32":
                  base = "Win32GUI"

                  cible_1 = Executable(
                  script = "test1.py",
                  base = base,
                  compress = True,
                  icon = None,
                  )

                  ça à l'air bon

                  # creation du setup
                  setup(
                  name = "test_cx_freeze",
                  version = "0.1",
                  description = "simple test de cx_freeze avec PyQt4",
                  author = "Tyrtamos",
                  options = {"build_exe": options},
                  executables = [cible_1, cible_2]
                  )

                  ok aussi
                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 novembre 2010 à 22:47:34

                    j'ai mis ça:
                    path = sys.path.append(os.path.join("C", "Python31"))

                    Mais ça plante de la même façon...
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      28 novembre 2010 à 7:55:20

                      Tu as mis ton fichier.py dans ton dossier python31?

                      Citation

                      path = sys.path.append(os.path.join("C", "Python31"))



                      path = sys.path.append(os.path.join("C:", "Python31")) est déjà mieux
                      • Partager sur Facebook
                      • Partager sur Twitter
                        29 novembre 2010 à 17:34:03

                        Nan ça marche pas non plus...
                        L'executable est crée, certe, mais quand je l'ouvre j'ai toujour le même message d'erreur...(voir plus haut)

                        Citation

                        Tu as mis ton fichier.py dans ton dossier python31?


                        Bah ui :p
                        • Partager sur Facebook
                        • Partager sur Twitter
                          30 novembre 2010 à 20:57:16

                          Je crois que le problème viens de tkinter...
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Faire un exe avec un un fichier setup.py

                          × 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