Partage
  • Partager sur Facebook
  • Partager sur Twitter

Transformer .py en .exe avec python 3.6.3

    1 décembre 2017 à 16:11:01

    Bonjour^^,

    Etant un nouvel utilisateur du language interpreté python, j'aimerais pouvoir compiler mes programmes en py et les transformer en .exe pour les partager facilement avec mes amis et compagnons. Mais, problème, j'ai essayer en vain de compiler avec cx_freeze. 

    J'ai écrit un script setup.py que jai place dans le dossier Scripts de python 3.6.3, j'ai ensuite ouvert Cmd et je me suis rendu au répertoire en question, j'ai taper ensuite python.exe setup.py build et là un longue liste d'exceptions ou d'erreurs sont apparus sur la console :

    running build
    running build_exe
    Traceback (most recent call last):
      File "C:\Users\K-Hcks\AppData\Local\Programs\Python\Python36\Scripts\setup.py", line 18, in <module>
        executables = executables
      File "C:\Users\K-Hcks\AppData\Local\Programs\Python\Python36\lib\site-packages\cx_Freeze\dist.py", line 362, in setup
        distutils.core.setup(**attrs)
      File "C:\Users\K-Hcks\AppData\Local\Programs\Python\Python36\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "C:\Users\K-Hcks\AppData\Local\Programs\Python\Python36\lib\distutils\dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "C:\Users\K-Hcks\AppData\Local\Programs\Python\Python36\lib\distutils\dist.py", line 974, in run_command
        cmd_obj.run()
      File "C:\Users\K-Hcks\AppData\Local\Programs\Python\Python36\lib\distutils\command\build.py", line 135, in run
        self.run_command(cmd_name)
      File "C:\Users\K-Hcks\AppData\Local\Programs\Python\Python36\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "C:\Users\K-Hcks\AppData\Local\Programs\Python\Python36\lib\distutils\dist.py", line 974, in run_command
        cmd_obj.run()
      File "C:\Users\K-Hcks\AppData\Local\Programs\Python\Python36\lib\site-packages\cx_Freeze\dist.py", line 231, in run
        metadata = metadata)
      File "C:\Users\K-Hcks\AppData\Local\Programs\Python\Python36\lib\site-packages\cx_Freeze\freezer.py", line 101, in __init__
        for n in self._GetDefaultBinPathExcludes() + binPathExcludes]
      File "C:\Users\K-Hcks\AppData\Local\Programs\Python\Python36\lib\site-packages\cx_Freeze\freezer.py", line 242, in _GetDefaultBinPathExcludes
        import cx_Freeze.util
    ImportError: DLL load failed: Le module spécifié est introuvable.

    En sachant que j'ai installer cx_freeze 4.3.3 est ce là dont le problème vient ?:euh:

    Ai-je un module qui me manque ?:(

    Aidez moi s'il vous plait !:'(

    • Partager sur Facebook
    • Partager sur Twitter

    Sidibe KaGaks

    Anonyme
      1 décembre 2017 à 18:12:45

      Pourquoi ne pas leur demander d'installer python ?

      cx_freeze ne compile pas, c'est l'interpréteur python que tu embarques dans chacun des fichiers exe créés qui exécutera ton fichier py. C'est hyper lourd question fonctionnalité... Et même si dans ton cas, c'est guère important, c'est une mauvaise solution pour rendre ton programme standalone.

      La rigueur voudrait que tu utilises un compilateur C et cython afin de compiler réellement ton code py, cependant c'est difficile à maîtriser pour un débutant, il faut déjà bien comprendre le fonctionnement d'un compilateur C, même pour un simple fichier python basique.

      • Partager sur Facebook
      • Partager sur Twitter
        1 décembre 2017 à 23:45:08

        Donc y a pas un moyen d'avoir un fichier compile si je comprends bien ? 

        Parce que c'est assez compliqué de demander à un utilisateur d'installer encore autre chose, au final il peut être dégouté et ne même plus en vouloir, voilà pourquoi j'aimerais bien pouvoir faire des exécutable de mes scripts...

        • Partager sur Facebook
        • Partager sur Twitter

        Sidibe KaGaks

          1 décembre 2017 à 23:55:06

          La meilleure solution est de faire un installateur qui va verifier si python et les autres dépendances sont bien présentes, et mettre un raccourci quelque part pour lancer le script.
          • Partager sur Facebook
          • Partager sur Twitter

          Blond, bouclé, toujours le sourire aux lèvres...

            16 décembre 2017 à 15:35:27

            ou installes py2exe. Perso, sa marche le prog est "indépendant". Par contre, il y a souvent des erreurs mais une fois qu'elles sont corrigés, sa marche tu pourra distribuer tes progs très facilement.
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              16 décembre 2017 à 16:30:58

              Tu te ballades avec un interpréteur pour chaque programme, idem que cxFreeze
              • Partager sur Facebook
              • Partager sur Twitter
                16 décembre 2017 à 22:06:28

                Bonsoir ,

                Je vais peut être dire une bêtise, oldProgrammer, mais tant qu'à passer par un compilateur C et cython pourquoi ne pas programmer directement en C++ (pour garder la POO) ?

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  17 décembre 2017 à 9:48:27

                  Parce-que, en cython on fait du python et seulement les parties en C qui nous intéresse pour l'amélioration des performances, ce qui rend le développement de son code très rapide. Alors que C++ c'est que du C++, et donc ça reste en temps de développement bien plus long.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 décembre 2017 à 18:03:01

                    Merci pour ta réponse. Je vais sérieusement me pencher sur cette solution. Non pas par fainéantise vis à vis du C++, mais parce que je commence à prendre gout à python. En plus, associé à tkinter, les résultats sont valorisants :p

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      17 décembre 2017 à 18:55:01

                      On peut même faire du C++ avec cython ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 janvier 2018 à 14:06:50

                        Bon, je pense que la solution du raccourci est viable, c'est la seule solution envisageable plus facile, Merci pour vos réponses à tous !

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Sidibe KaGaks

                        Transformer .py en .exe avec python 3.6.3

                        × 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