我按照指示创建了我的setup.py文件,但实际上我并不知道接下来要做什么。在命令行中键入“python setup.py build”只会出现语法错误。
那么,我该怎么办?
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")])
答案 0 :(得分:33)
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
参数。
答案 1 :(得分:12)
我真的不确定你为了得到这个错误做了什么,看起来你正试图自己运行cx_Freeze而没有参数。所以这里有一个关于如何在Windows中执行此操作的简短分步指南(您的屏幕截图看起来很像Windows命令行,所以我假设这是您的平台)
编写setup.py文件。上面的脚本看起来是正确的,所以它应该有效,假设你的脚本存在。
打开命令行(Start
- > Run
- > "cmd"
)
转到setup.py文件的位置并运行python setup.py build
注意:
您的脚本名称可能存在问题。 “Main.py”包含大写字母,这可能会导致混淆,因为Windows的文件名不区分大小写,但python是。我的方法是始终使用小写脚本来避免任何冲突。
确保您的PATH上有python(阅读http://docs.python.org/using/windows.html)1
确保正在查看新的cx_Freeze documentation。谷歌似乎经常提出旧的文档。
答案 2 :(得分:7)
我遇到了类似的问题。我通过在变量中设置Executable选项然后简单地调用变量来解决它。下面是我使用的示例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'
]
)
答案 3 :(得分:7)
您可以将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
上都试过了答案 4 :(得分:2)
找到cxfreeze
脚本并运行它。它将与您的其他python帮助程序脚本位于相同的路径中,例如pip
。
cxfreeze Main.py --target-dir dist
阅读更多内容: http://cx-freeze.readthedocs.org/en/latest/script.html#script