40

我已经按照说明创建了 setup.py 文件,但实际上我并没有……了解下一步该做什么。在命令行中输入“python setup.py build”只会出现语法错误。

那么,我该怎么办?

设置.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")])
4

5 回答 5

35
  • 添加import sys为新的背线
  • 您在最后一行拼错了“可执行文件”。
  • 在最后一行删除script =

代码现在应该如下所示:

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")])

使用命令提示符 ( cmd) 运行python setup.py build。(从包含 的文件夹中运行此命令setup.py。)请注意build我们在脚本调用末尾添加的参数。

于 2012-11-26T18:11:55.153 回答
15

我真的不确定你在做什么来得到那个错误,看起来你正在尝试自己运行 cx_Freeze ,没有参数。因此,这里有一个简短的分步指南,介绍如何在 Windows 中执行此操作(您的屏幕截图看起来很像 Windows 命令行,所以我假设这是您的平台)

  1. 编写你的 setup.py 文件。假设您的脚本存在,您上面的脚本看起来是正确的,所以它应该可以工作。

  2. 打开命令行(Start-> Run-> "cmd"

  3. 转到 setup.py 文件的位置并运行python setup.py build

笔记:

  1. 您的脚本名称可能有问题。“Main.py”包含大写字母,这可能会导致混淆,因为 windows 的文件名不区分大小写,但 python 是。我的方法是始终对脚本使用小写字母以避免任何冲突。

  2. 确保 python 在您的 PATH 上(阅读http://docs.python.org/using/windows.html1

  3. 确保正在查看新的 cx_Freeze文档。谷歌似乎经常提出旧文档。

于 2012-03-29T06:35:53.653 回答
8

您可以将 setup.py 代码更改为:

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

我相信它会起作用。我在 Windows 7 和 ubuntu 12.04 上都试过了

于 2013-10-11T07:18:55.873 回答
8

我遇到了类似的问题。我通过在变量中设置可执行选项然后简单地调用变量来解决它。下面是我使用的示例 setup.py:

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'
               ]
      ) 
于 2012-04-05T22:24:01.510 回答
3

找到cxfreeze脚本并运行它。它将与您的其他 python 帮助程序脚本位于相同的路径中,例如pip.

cxfreeze Main.py --target-dir dist

阅读更多: http ://cx-freeze.readthedocs.org/en/latest/script.html#script

于 2015-07-24T19:51:02.390 回答