Python 3.x Py2app应用程序未启动只是询问我是否要终止应用程序或打开控制台
所以我正在做我的一个小项目,我想很自然地分发,我使用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“(空)” 如果这还不够,下面是我使用的教程中的代码: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/-
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'],
)