Partage
  • Partager sur Facebook
  • Partager sur Twitter

Rendre un programme indépendant avec cx_freeze

cx_freeze

    22 avril 2013 à 13:27:29

    Salut les zéros ! 

    Petit problème, malgré le tutoriel sur cx_freeze, je ne comprend toujours pas comment ça marche ... :/

    Si quelqu'un pouvait vraiment me guider pas à pas ce serait super ! :D

    Merci d'avance =)

    MedionSoul.

    • Partager sur Facebook
    • Partager sur Twitter
      8 juin 2013 à 10:03:24

      Salut,

      Perso je me suis servi de ce tuto : http://www.youtube.com/results?search_query=cx_freeze&oq=cx&gs_l=youtube.1.0.35i39j0l9.2522.2737.0.5265.2.2.0.0.0.0.86.159.2.2.0...0.0...1ac.1.11.youtube.R8TijVn_8EE

      Il te guide pas à pas dans l'utilisation de cx_freeze. A part pour les problèmes d'importation de modules. Si tu en as, je pourrai t'envoyer un modèle de fichier setup.

      • Partager sur Facebook
      • Partager sur Twitter
        9 juin 2013 à 11:23:00

        Merci pour la video,

        Mais j'a toujours un probleme ><

            for n in self._GetDefaultBinPathExcludes() + binPathExcludes]

          File "c:\python27\lib\site-packages\cx_Freeze\freezer.py", line 230, in _GetDe

        faultBinPathExcludes

            import cx_Freeze.util

        ImportError: DLL load failed: %1 nÆest pas une application Win32 valide.

        • Partager sur Facebook
        • Partager sur Twitter
          9 juin 2013 à 11:43:58

          A quel moment as-tu ce message ? Tu as quelque chose qui se créé ou rien du tout ? Le fichier que tu veux rendre executable est-il bien dans le dossier dans lequel tu as installé cx_freeze ?
          • Partager sur Facebook
          • Partager sur Twitter
            9 juin 2013 à 13:41:43

            C:\Users\Sébastien>cd\
            C:\>cd\python27
            C:\Python27>c:\python27\python.exe setup.py build
            running build
            running build_exe
            Traceback (most recent call last):
              File "setup.py", line 7, in <module>
                executables = [Executable("PlusOuMoins")] ,
              File "c:\python27\lib\site-packages\cx_Freeze\dist.py", line 365, in setup
                distutils.core.setup(**attrs)
              File "c:\python27\lib\distutils\core.py", line 152, in setup
                dist.run_commands()
              File "c:\python27\lib\distutils\dist.py", line 953, in run_commands
                self.run_command(cmd)
              File "c:\python27\lib\distutils\dist.py", line 972, in run_command
                cmd_obj.run()
              File "c:\python27\lib\distutils\command\build.py", line 127, in run
                self.run_command(cmd_name)
              File "c:\python27\lib\distutils\cmd.py", line 326, in run_command
                self.distribution.run_command(command)
              File "c:\python27\lib\distutils\dist.py", line 972, in run_command
                cmd_obj.run()
              File "c:\python27\lib\site-packages\cx_Freeze\dist.py", line 234, in run
                metadata = metadata)
              File "c:\python27\lib\site-packages\cx_Freeze\freezer.py", line 97, in __init_
            _
                for n in self._GetDefaultBinPathExcludes() + binPathExcludes]
              File "c:\python27\lib\site-packages\cx_Freeze\freezer.py", line 230, in _GetDe
            faultBinPathExcludes
                import cx_Freeze.util
            ImportError: DLL load failed: %1 nÆest pas une application Win32 valide.
            Mon fichier en python est dans le meme dossier que setup ( C:\Python27 ) donc pas là ou cx_freeze est installé, mais dans la video c'est comme ça qu'il fait non ?
            • Partager sur Facebook
            • Partager sur Twitter
              9 juin 2013 à 17:05:54

              Je crois que c'est bon pour l'emplacement des fichiers. d'après ton message d'erreur, c'est un problème d'importation de module. Tu as un dossier "DLL" dans ton "C:\Python27" ? Qu'est-ce que tu utilises comme module dans ton programme ?
              • Partager sur Facebook
              • Partager sur Twitter
                9 juin 2013 à 17:09:48

                Pour l'importation de certains modules, il faut un fichier setup de ce type  :

                from cx_Freeze import setup, Executable
                  
                executables = [
                        Executable("lettres.py"),
                ]
                  
                buildOptions = dict(
                        compressed = True,
                        includes = ["re", "random"],
                )
                  
                setup(
                    name = "controle",
                    version = "1.0",
                    description = "blablabla",
                    options = dict(build_exe = buildOptions),
                    executables = executables
                )



                • Partager sur Facebook
                • Partager sur Twitter
                  11 juin 2013 à 10:12:07

                  J'utilise le module random et getpass.

                  Je vais essayer avec ton nouveau type de setup.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 juin 2013 à 10:19:02

                    Je viens d'essayer avec ton nouveau type de setup, toujours la même erreur ... :/
                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 juin 2013 à 21:13:27

                      ça a quand même l'air d'être un problème d'importation de module puisque dans ton message d'erreur affiche 'DLL load failed', mais là je sais pas :o
                      • Partager sur Facebook
                      • Partager sur Twitter
                        11 juin 2013 à 23:18:39

                        Désinstalle et réinstalle cx_Freeze en t'assurant que c'est bien la bonne version pour ton OS, ta version de Python et ton architecture (x86 ? x86_64 ?).

                        Il y a eu une couille dans ton install puisqu'il n'arrive pas à charger le module cx_Freeze.util.

                        PS : Ça aide de lire les messages d'erreur en entier...

                        -
                        Edité par nohar 11 juin 2013 à 23:21:47

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Zeste de Savoir, le site qui en a dans le citron !
                          12 juin 2013 à 9:04:22

                          J'a déjà réinstallé cx_Freeze au moins ... 3 fois ! ><

                          J'ai un 64 bit donc x86, python 2.7 sous seven.

                          J'ai donc pris celui en .msi.

                          http://cx-freeze.sourceforge.net/

                          Et j'ai mis tout le message d'erreur ... 

                          -
                          Edité par MedionSoul 12 juin 2013 à 11:18:59

                          • Partager sur Facebook
                          • Partager sur Twitter
                            12 juin 2013 à 15:41:38

                            J'ai un 64 bit donc x86

                            Euh, non ?

                            Déjà quelle version de Python est installée ? (32 ou 64 bits ?) Ensuite, si tu as pris l'archi "x86" tu peux être sûr que ce sera du 32 bits, à moins d'avoir choisi x86_64, mais encore faut-il que ce soit cohérent avec la version de Python que tu as.

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Zeste de Savoir, le site qui en a dans le citron !
                              12 juin 2013 à 19:23:08

                              J'ai bien tout pris pour un 64 bit et non pas pour un 32
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Rendre un programme indépendant avec cx_freeze

                              × 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