場景交待:用 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_())