2010-08-01 6 views
0

Le script que je couraisAide conversion .py à .exe, en utilisant py2exe

# p2e_simple_con.py 
# very simple script to make an executable file with py2exe 
# put this script and your code script into the same folder 
# run p2e_simple_con.py 
# it will create a subfolder 'dist' where your exe file is in 
# has the same name as the script_file with extension exe 
# (the other subfolder 'build' can be deleted) 
# note: with console code put a wait line at the end 

from distutils.core import setup 
import py2exe 
import sys 

sys.argv.append("py2exe") 
sys.argv.append("-q") 

# this is your code script file, change it as needed 
# use it in the working directory or give full path 
script_file = 'DateTime_Test1.py' 

# create a single .exe file and use compression 
# (the .exe file is 30% larger with no compression) 
setup(
    options = {'py2exe': {'bundle_files': 1, 'compressed': 1,}}, 
    zipfile = None, 
    # replace console with windows for a GUI program 
    console = [{'script': script_file}] 
) 

J'ai essayé mais obtenu l'erreur suivante

C:\Python26\Lib\distutils\dist.py:266: UserWarning: Unknown distribution option: 'console' 
    warnings.warn(msg) 
C:\Python26\Lib\distutils\dist.py:266: UserWarning: Unknown distribution option: 'zipfile' 
    warnings.warn(msg) 
usage: py2exe.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] 
    or: py2exe.py --help [cmd1 cmd2 ...] 
    or: py2exe.py --help-commands 
    or: py2exe.py cmd --help 

error: invalid command 'py2exe' 
+0

avez-vous suivi ce tutoriel ... http: //www.py2exe.org/index.cgi/Tutorial?highlight = ((Tutorial)) –

Répondre

1

Les lignes:

sys.argv.append("py2exe") 
sys.argv.append("-q") 

semblent "inhabituel" et susceptible d'être à l'origine de ce message "commande invalide". Je serais curieux de connaître les raisons de les avoir.

Mise à jour

Une convention commune est de nommer le script setup.py (bien que dans ce cas, il porte le nom p2e_simple_con.py il semble). La fonction setup en elle analyse la ligne de commande, et vous vous attendez habituellement pour l'exécuter avec une commande telle que:

python setup.py py2exe 

py2exe est une commande que le paquet py2exe comprend et construit le fichier EXE. Donc, tant que le paquet py2exe est installé, cette commande devrait être acceptée.

La ligne sys.argv.append("py2exe") ajoute cette commande à la ligne de commande, donc dans votre cas, vous devriez juste être capable de taper:

python p2e_simple_con.py 

pour construire l'exe. Cependant, si vous n'avez pas installé le paquet py2exe, la base distutils ne reconnaîtra pas la commande py2exe. Mais dans ce cas, je m'attends à ce que vous obteniez une exception pour la ligne import py2exe. Donc, je ne suis pas sûr de ce qui se passe.

Quelle est la commande utilisée pour exécuter le programme d'installation?

+0

J'ai obtenu le code sur un autre forum, et je ne suis pas sûr de moi. – rectangletangle

0

Ceci est juste une idée (pas vraiment une réponse mais je ne peux pas commenter).

Puisqu'il semble à partir du message d'erreur qu'il existe un paramètre donné à py2exe qu'il n'accepte pas, je suppose que c'est le paramètre -q. Alors essayez de supprimer la ligne sys.argv.append("-q") et lancez le script puis.

Je n'ai pas utilisé py2exe moi-même, donc je ne peux pas vraiment le tester. C'est juste une idée.

-1

Les deux avertissements sont dus à une virgule errante dans le dictionnaire des options, après la valeur finale. Vous voulez avoir

setup(
    options = {'py2exe': {'bundle_files': 1, 'compressed': 1}}, 
    zipfile = None, 
    # replace console with windows for a GUI program 
    console = [{'script': script_file}] 
) 

Essayez de voir si cela résout votre erreur.

0

Le problème est peut-être que py2exe est pour python 3,

celui de python 2 semble être py2exe2msi

Je reçois aussi une erreur semblable en python 2, en essayant de faire du code qui était écrit pour la version python 3.