40 votes

Comment utiliser cx_freeze ?

J'ai créé mon fichier setup.py comme indiqué, mais je ne comprends pas vraiment ce qu'il faut faire ensuite. En tapant "python setup.py build" dans la ligne de commande, vous obtenez juste une erreur de syntaxe.

Alors, qu'est-ce que je fais ?

setup.py :

from cx_Freeze import setup, Executable

setup(
    name = "On Dijkstra's Algorithm",
    version = "3.1",
    description = "A Dijkstra's Algorithm help tool.",
    exectuables = [Executable(script = "Main.py", base = "Win32GUI")])

37voto

Bryan Points 341
  • Ajouter import sys comme nouvelle ligne supérieure
  • Vous avez mal orthographié "exécutables" à la dernière ligne.
  • Supprimez script = sur la dernière ligne.

Le code devrait maintenant ressembler à :

import sys
from cx_Freeze import setup, Executable

setup(
    name = "On Dijkstra's Algorithm",
    version = "3.1",
    description = "A Dijkstra's Algorithm help tool.",
    executables = [Executable("Main.py", base = "Win32GUI")])

Utilisez l'invite de commande (cmd) pour exécuter python setup.py build. (Exécutez cette commande à partir du dossier contenant setup.py.) Notez le paramètre build que nous avons ajouté à la fin de l'appel du script.

8voto

Cesar Points 413

J'ai rencontré un problème similaire. Je l'ai résolu en définissant les options Exécutables dans une variable, puis en appelant simplement la variable. Ci-dessous un exemple de setup.py que j'utilise :

from cx_Freeze import setup, Executable
import sys

productName = "ProductName"
if 'bdist_msi' in sys.argv:
    sys.argv += ['--initial-target-dir', 'C:\InstallDir\\' + productName]
    sys.argv += ['--install-script', 'install.py']

exe = Executable(
      script="main.py",
      base="Win32GUI",
      targetName="Product.exe"
     )
setup(
      name="Product.exe",
      version="1.0",
      author="Me",
      description="Copyright 2012",
      executables=[exe],
      scripts=[
               'install.py'
               ]
      ) 

8voto

ps06756 Points 1851

Vous pouvez modifier le code setup.py comme suit :

    from cx_freeze import setup, Executable
    setup( name = "foo",
           version = "1.1",
           description = "Description of the app here.",
           executables = [Executable("foo.py")]
         )

Je suis sûr que ça marchera. Je l'ai essayé sur les deux fenêtres 7 ainsi que ubuntu 12.04

3voto

gcb Points 2264

trouver le script cxfreeze et l'exécuter. Il sera dans le même chemin que vos autres scripts d'aide python, tels que pip.

cxfreeze Main.py --target-dir dist

pour en savoir plus : http://cx-freeze.readthedocs.org/fr/latest/script.html#script

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X