cx_Freeze 错误:未提供命令

Posted

技术标签:

【中文标题】cx_Freeze 错误:未提供命令【英文标题】:cx_Freeze error: no commands supplied 【发布时间】:2016-10-07 01:42:59 【问题描述】:

我正在尝试从我的 .py 文件创建一个可执行文件。

我这样做了:

import cx_Freeze

executables = [cx_Freeze.Executable("Cobra.py")]

cx_Freeze.setup(name="Snake Python", options="build_exe":"packages":["pygame","time","sys","os","random"], executables = executables)

并从 Python GUI 运行。它返回以下错误:

Traceback (most recent call last):
  File "C:/Users/victor/Desktop/tcc/Jogo_Cobra/setup.py", line 5, in <module>
    cx_Freeze.setup(name="Snake Python", options="build_exe":"packages":["pygame","time","sys","os","random"], executables = executables)
  File "C:\Python32\lib\site-packages\cx_Freeze\dist.py", line 365, in setup
    distutils.core.setup(**attrs)
  File "C:\Python32\lib\distutils\core.py", line 137, in setup
    raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
SystemExit: usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help
error: no commands supplies

我在 windows 8.1 和 cx_Freeze-4.3.2.win32-py3.2 上使用 Python 3.2

感谢您的帮助!

【问题讨论】:

【参考方案1】:

如果您不想通过命令行提供命令,您可以让脚本为您执行此操作。

把它放在你的代码中cx_Freeze.setup之前,你可以不用自己加参数来运行它:

import sys
sys.argv.append("build")

这与像这样运行文件相同:

python setup.py build

【讨论】:

【参考方案2】:

您实际上需要将命令传递给setup.py 以告诉它构建可执行文件

python setup.py build

此命令将创建一个名为 build 的子目录,其中还有一个以字母 exe. 开头并以 distutils 使用的平台的典型标识符结尾的子目录

或者,您可以让它构建可执行文件并将其包装在安装程序中以便于分发

python setup.py bdist_msi

【讨论】:

以上是关于cx_Freeze 错误:未提供命令的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 cx_freeze 错误:_ 和_ 是同一个文件?

Cx_Freeze 找不到 pkg_resources/*.*'

Python cx_Freeze 错误“没有名为 'cx_Freeze.util' 的模块”

这个 cx_Freeze 错误是啥意思?

cx_freeze 的 exe 错误

由于命令中的错误,带有 Flutter 的 Facebook Auth 未提供密钥哈希