因此,我正在研究一个我想很自然地分发的小项目,我使用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
有什么想法吗?
预先感谢:)
答案 0 :(得分:0)
我一直面临着完全相同的错误代码(-67062)的问题,并且设法至少针对在 macOS 10.14.2上运行 Python 3.6.8 的计算机解决了该问题。 / strong>。
打开文件 ../ Sandwich / Contents / MacOS / Sandwich ,然后在终端中查看回溯消息。如果tkinter导入导致您的问题(例如我的情况),请通过
降级py2apppip卸载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