J'ai créé mon fichier setup.py comme indiqué, mais je ne comprends pas vraiment quoi faire. Taper "python setup.py build" dans la ligne de commande génère simplement 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")])
import sys
comme nouvelle ligne du dessusscript =
sur la dernière ligne.Le code devrait maintenant ressembler à ceci:
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 la commande Invite (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.
Je ne suis vraiment pas sûr de ce que vous faites pour obtenir cette erreur, il semblerait que vous essayiez de lancer cx_Freeze de manière autonome, sans argument. Voici donc un petit guide pas à pas sur la procédure à suivre dans Windows (votre capture d'écran ressemble à la ligne de commande de Windows, je suppose donc que c'est votre plate-forme).
Ecrivez votre fichier setup.py. Votre script ci-dessus semble correct, il devrait donc fonctionner, à condition que votre script existe.
Ouvrez la ligne de commande (Start
-> Run
-> "cmd"
)
Accédez à l'emplacement de votre fichier setup.py et exécutez python setup.py build
Remarques:
Il peut y avoir un problème avec le nom de votre script. "Main.py" contient des majuscules, ce qui peut semer la confusion dans la mesure où les noms de fichiers de Windows ne sont pas sensibles à la casse, mais python est. Mon approche consiste à toujours utiliser des minuscules pour les scripts afin d'éviter toute conflits.
Assurez-vous que python est sur votre PATH (lire http://docs.python.org/using/windows.html ) 1
Assurez-vous que vous consultez bien la nouvelle documentation cx_Freeze . Google semble souvent faire apparaître les anciens documents.
Vous pouvez changer le code setup.py en ceci:
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 va marcher. Je l'ai essayé sur les deux fenêtres 7 ainsi que Ubuntu 12.04
J'ai rencontré un problème similaire. Je l'ai résolu en définissant les options de l'exécutable dans une variable et en appelant simplement la variable. Vous trouverez ci-dessous un exemple de fichier 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'
]
)
trouvez le script cxfreeze
et exécutez-le. Il se trouvera dans le même chemin que vos autres scripts d'aide python, tels que pip
.
cxfreeze Main.py --target-dir dist
en savoir plus sur: http://cx-freeze.readthedocs.org/en/latest/script.html#script