Py2app 应用程序未启动只是询问我是否要终止该应用程序或打开控制台

Py2app app not launching just asks if I want to terminate the app or open console

所以我正在做我的一个小项目,我想很自然地轻松分发,我使用 py2app 制作一个可以在任何 Mac 计算机上执行的单个 .app 文件。我试过这个教程:https://www.metachris.com/2015/11/create-standalone-mac-os-x-applications-with-python-and-py2app/。问题是,即使我尝试他在教程中给出的示例,它也会崩溃并显示此 window: Crash image 如果我查看事件的控制台日志,我会看到这些错误。

error 17:12:44.313837 +0100 Sandwich Unable to load Info.plist exceptions (eGPUOverrides)

error 17:12:44.472464 +0100 tccd Failed to copy signing info for 3112, responsible for file:///Users/-myname-/folder/projects/SandwichApp/dist/Sandwich.app/Contents/MacOS/Sandwich: #-67062: Error Domain=NSOSStatusErrorDomain Code=-67062 "(null)"

如果信息不够,这里是我使用的教程中的代码:

import tkinter as tk

root = tk.Tk()
root.title("Sandwich")
tk.Button(root, text="Make me a Sandwich").pack()
tk.mainloop()

这是 setup.py:

from setuptools import setup

APP = ['Sandwich.py']
DATA_FILES = []
OPTIONS = {}

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

我试图将它添加到我的 setup.py 选项中,因为我看到其他人有它,但同样的事情不断发生:

'argv_emulation': True

知道发生了什么吗?

提前致谢:)

我一直面临着完全相同的错误代码 (-67062) 的问题,并且至少在我的机器上设法解决了它 运行ning Python 3.6.8 macOS 10.14.2.

打开文件 ../Sandwich/Contents/MacOS/Sandwich 并在终端中查看回溯消息。如果 tkinter 导入导致您遇到像我这样的问题,请通过

降级 py2app

pip uninstall py2app

并使用旧版本,例如

pip install py2app==0.12

再次

和 运行 py2app。如果您进一步遇到不需要的包的导入问题,例如枕头,您可以使用找到的解决方法排除它们 here

from setuptools import setup

APP = ['Sandwich.py']
DATA_FILES = []
OPTIONS = {
    "excludes": ['pillow', 'Image'] # exclude unwanted dependencies
}

setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

Ronald Oussoren 讨论了在 py2app 中调试 ImportErrors 可以在下面找到以供进一步阅读:

https://bitbucket.org/ronaldoussoren/py2app/issues/223/errors-on-compiling-in-py2app-i-have-all