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

时间:2018-11-28 16:32:04

标签: python-3.x tkinter py2app .app

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

  

错误17:12:44.313837 +0100三明治无法加载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'],
)

我曾尝试将其添加到OPTIONS中的setup.py中,因为我看到其他人拥有它,但是同一件事不断发生:

'argv_emulation': True

有什么想法吗?

预先感谢:)

1 个答案:

答案 0 :(得分:0)

我一直面临着完全相同的错误代码(-67062)的问题,并且设法至少针对在 macOS 10.14.2上运行 Python 3.6.8 的计算机解决了该问题。 / strong>。

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

降级py2app
  

pip卸载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