场景交待:用 PySide2 写了一个GUI, 先调用了 multiprocessing.process() ,再新建 QThread类。
GUI制作完成,打包前正常使用,打包后涉及 multiprocessing的功能全部崩溃。
一开是定位是 Pyside2 导致,换了 Pyside1, QtPy5, QtPy4 都未解决问题。
最后一遍一遍地读 错误日志时,发现每次都有一段写 multiprocessing的,查阅资料后找到解决方案。
解决方案:
在main 函数中添加一行代码:
if __name__ == "__main__": multiprocessing.freeze_support() # 加入这行代码即可。 app = Widgets.QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_())