如何使用py2app从Python构建Mac应用程序?
我有一个用Python写的Tkinter应用程序,我想把它做成“本地”的(容易运行的)Mac和Windows可执行文件。我已经成功用py2exe制作了一个Windows的.exe文件,但用py2app做相同的事情却不成功。
这是我的setup.py文件:
from setuptools import setup
import sys
MAIN_SCRIPT = "myapp.py"
WINDOWS_ICON = "myicon.ico"
MAC_ICON = "myicon.icns"
if sys.platform in ("win32", "win64"): # does win64 exist?
import py2exe
setup( windows=[{ "script":MAIN_SCRIPT,
"icon_resources":[(0x0004, WINDOWS_ICON)]
}],
)
elif sys.platform == "darwin":
import py2app
setup( app=[MAIN_SCRIPT], # doesn't include the icon yet
setup_requires=["py2app"],
)
我只是在我的应用程序目录下输入cd
,然后运行python setup.py py2app
。虽然.app文件生成没有错误,但启动时却崩溃,显示“myapp遇到致命错误,将立即终止。”
我在使用Snow Leopard系统,并且尝试过标准的Apple Python 2.6和从MacPorts安装的python25。我听说使用不同的Python版本会更好,因为py2app不会把系统版本打包进你的应用程序里。
编辑:这是Mac控制台给出的信息:
11/27/10 1:54:44 PM [0x0-0x80080].org.pythonmac.unspecified.myapp[77495] dlsym(0x10b120, Py_SetProgramName): symbol not found
11/27/10 1:54:46 PM [0x0-0x80080].org.pythonmac.unspecified.myapp[77495] 0x99274242
11/27/10 1:54:46 PM com.apple.launchd.peruser.501[185] ([0x0-0x80080].org.pythonmac.unspecified.myapp[77495]) Exited with exit code: 255
1 个回答
0
原来是使用了Snow Leopard这个系统的问题。我在学校的Leopard机器上试了一下,结果一切正常,可以顺利编译。