我有一个用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
到我的app目录并运行python setup.py py2app
。 .app显示没有错误,但它在启动时崩溃,“myapp遇到致命错误,现在将终止。”
我正在运行Snow Leopard,我尝试使用MacPorts的标准Apple Python 2.6和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
答案 0 :(得分:0)
原来这是使用Snow Leopard的问题。我在学校的Leopard机器上尝试过,它构建得很好。