【问题标题】:Help building a mac application from python using py2app?帮助使用 py2app 从 python 构建一个 mac 应用程序?
【发布时间】:2011-05-16 16:41:54
【问题描述】:

我有一个用 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

【问题讨论】:

  • 仅供参考:win64 不存在。见docs.python.org/release/3.0.1/library/sys.html#sys.platform。另外,py2app 中的某处没有应用程序日志/调试标志吗?这对调试问题非常有帮助。我怀疑这是某个地方的导入错误。
  • 我用控制台输出更新了问题。如果需要,py2app 本身会使用pdb 进入调试模式,但它已正确完成。我想知道我是否也可以将 pdb 添加到正在运行的应用程序中?

标签: python tkinter py2app


【解决方案1】:

原来是使用 Snow Leopard 的问题。我在学校的 Leopard 机器上试了一下,结果很好。

【讨论】:

    猜你喜欢
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多