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

Python 3.x Py2app应用程序未启动只是询问我是否要终止应用程序或打开控制台,python-3.x,tkinter,py2app,.app,Python 3.x,Tkinter,Py2app,.app,所以我正在做我的一个小项目,我想很自然地分发,我使用py2app制作一个单独的.app文件,可以在任何Mac电脑上执行。我尝试了以下教程:。问题是,即使我尝试他在教程中给出的示例,它也会崩溃并显示以下窗口: 如果我查看事件的控制台日志,我会看到以下两个错误 错误17:12:44.313837+0100 Sandwich无法加载Info.plist异常(eGPUOverrides) 错误17:12:44.472464+0100 tccd未能复制3112的签名信息,负责file:///Users/-

所以我正在做我的一个小项目,我想很自然地分发,我使用py2app制作一个单独的.app文件,可以在任何Mac电脑上执行。我尝试了以下教程:。问题是,即使我尝试他在教程中给出的示例,它也会崩溃并显示以下窗口: 如果我查看事件的控制台日志,我会看到以下两个错误

错误17:12:44.313837+0100 Sandwich无法加载Info.plist异常(eGPUOverrides)

错误17:12:44.472464+0100 tccd未能复制3112的签名信息,负责file:///Users/-myname-/folder/projects/SandwichApp/dist/Sandwich.app/Contents/MacOS/Sandwich: #-67062:错误域=NSOSStatusErrorDomain代码=-67062“(空)”

如果这还不够,下面是我使用的教程中的代码:

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),并且至少在我的机器上运行了macOS 10.14.2上的Python 3.6.8

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

pip卸载py2app

并使用旧版本,例如

pip安装py2app==0.12

然后再次运行py2app。如果您进一步遇到不需要的软件包(例如枕头)的导入问题,您可以通过找到的解决方法将其排除在外

Ronald Oussoren在py2app中讨论了调试导入程序,可在下面找到,以供进一步阅读:


谢谢你,伙计。正如你所说,我最终降级了,而且效果很好。
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'],
)