Skip to main content
 首页 » 编程设计

python之帮助使用 py2app 从 python 构建 mac 应用程序

2025年05月04日27mfrbuaa

我有一个用 python 编写的 Tkinter 应用程序,我想制作它的“本地”(易于运行)mac 和 windows 可执行文件。我已经使用 py2exe 成功构建了一个 windows .exe,但是与 py2app 的等效进程不起作用。

这是我的 setup.py:

from setuptools import setup 
import sys<br/> 
MAIN_SCRIPT  = "myapp.py" 
WINDOWS_ICON = "myicon.ico" 
MAC_ICON     = "myicon.icns"<br/> 
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 遇到 fatal error ,现在将终止。”

我正在运行 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 

请您参考如下方法:

原来这是使用 Snow Leopard 的问题。我在学校的一台 Leopard 机器上试过它,它运行良好。