我跑的脚本
# 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}]
)
我尝试了这个,但收到了以下错误
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 :(得分:1)
行:
sys.argv.append("py2exe")
sys.argv.append("-q")
似乎“不寻常”并且可能导致“无效命令”消息。我很想知道拥有它们的理由。
<强>更新强>
一个常见的约定是命名脚本setup.py
(尽管在这种情况下,它似乎名为p2e_simple_con.py
)。其中的setup
函数解析命令行,通常您希望使用如下命令运行它:
python setup.py py2exe
其中py2exe
是py2exe包理解的命令,然后构建EXE文件。因此,只要安装了py2exe软件包,就应该接受该命令。
行sys.argv.append("py2exe")
将该命令添加到命令行,因此在您的情况下,您应该只能输入:
python p2e_simple_con.py
构建exe。但是,如果尚未安装py2exe软件包,则基础distutils
将无法识别py2exe
命令。但在这种情况下,我希望你得到一行import py2exe
的例外。所以,我不确定发生了什么。
您用于运行安装程序的命令是什么?
答案 1 :(得分:0)
这只是一个想法(不是真正的答案,但我无法发表评论)。
由于从错误消息中可以看出,py2exe
有一个参数,它不接受,我猜它是-q
参数。因此,尝试删除行sys.argv.append("-q")
然后运行脚本。
我自己没有使用py2exe,所以我无法对此进行测试。这只是一个想法。
答案 2 :(得分:0)
问题可能是py2exe
适用于python 3,
python 2的那个似乎是py2exe2msi
我在python 2中也遇到了类似的错误,试图编写为python 3版本编写的代码。
答案 3 :(得分:-1)
这两个警告是由于在最终值之后选项字典中的错误逗号。你想拥有
setup(
options = {'py2exe': {'bundle_files': 1, 'compressed': 1}},
zipfile = None,
# replace console with windows for a GUI program
console = [{'script': script_file}]
)
尝试查看是否可以解决您的错误。