如何使用py2app从Python构建Mac应用程序?

2 投票
1 回答
1510 浏览
提问于 2025-04-16 07:42

我有一个用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机器上试了一下,结果一切正常,可以顺利编译。

撰写回答