我发现与PyQt5和pywin32的win32ui模块存在冲突。
我在:
当我运行以下最小示例时,我在退出时收到2个python.exe崩溃通知(在关闭" Hello"窗口之后)。如果我注释掉win32ui导入,则不会发生崩溃。
from PyQt5 import QtWidgets
import win32ui
app = QtWidgets.QApplication([])
window = QtWidgets.QLabel("Hello")
window.show()
app.exec_()
我发现了我认为的错误:https://github.com/mhammond/pywin32/issues/675,虽然我不知道如何确认这一点。据此,它与win32ui用来监视所有活动窗口的钩子有关。该错误似乎没有得到解决。
我在这里看到了另一个相关问题:Combining Tkinter and win32ui makes Python crash on exit
有关解决方法的任何建议吗?我使用win32ui作为捕获屏幕截图的一部分,我可以通过其他方式来做,但无论如何它都是一个烦人的bug。有趣的是,在PyCharm的调试器退出时它并没有崩溃。我猜测调试器会改变python解释器关闭进程的工作方式(或让解释器保持活动状态更长时间),以防止错误发生。
答案 0 :(得分:0)
如果发生这种情况,而不是使用几乎相同的设置进行BPL。可能是它可以在32位python上运行,而不能在64位python上运行。