所以我有一个很奇怪的问题,我有一个使用python3.7和PyQT5构建的python应用程序。
我将其与py2app捆绑在一起,当我双击它以启动它时,它可以正常工作,但是当我按下执行大量命令的按钮时,它就会崩溃。
奇怪的是,如果我这样做但使用终端打开应用程序(使用open
命令或./
命令,则应用程序正常运行。
由于osx崩溃报告并没有真正给我任何有用的信息,并且在通过python运行时也绝不会崩溃,因此我很难弄清楚该如何进行实际调试。
from setuptools import setup
import PyQt5
from PyQt5 import QtCore
from PyQt5 import QtGui
from PyQt5 import Qt
from PyQt5.QtCore import *
from PyQt5.QtGui import *
APP_NAME = "setup tool"
APP = ['main.py']
DATA_FILES = ['bl_ui.ui']
OPTIONS = {'argv_emulation': True,
'includes': ['PyQt5', 'PyQt5.Qt', 'PyQt5.QtCore', 'PyQt5.QtGui', 'PyQt5._qt', 'PyQt5.uic', 'sip'],
'iconfile': 'app.icns',
'plist': {
'CFBundleName': APP_NAME,
'CFBundleDisplayName': APP_NAME,
'CFBundleGetInfoString': "my setup tool",
'CFBundleIdentifier': "tool",
'CFBundleVersion': "0.1.0",
'CFBundleIconFile': 'app.icns',
'CFBundleShortVersionString': "0.1.0",
'NSHumanReadableCopyright': u"Copyright © 2019, some name"
}
}
setup(
app=APP,
name="Setup Tool",
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
这是构建脚本。可悲的是,我无法将实际的代码放在这里,因为它很大,而且我不知道确切的命令的哪个部分会执行此操作,但是如果您能给我一个有关如何调试它的想法,那就太好了。