- 在ubuntu中,用的是python3.5
executeprebuildpath = ExecutePrebuild()processpool = ProcessPoolExecutor(1)processpool.submit(executeprebuildpath.run).add_done_callback(self.precallback)processpool.shutdown(wait=False)self.runsign = Trueself.runningprebuildsignal()
這樣可以正常運行,
但是將代碼移植到 mac系統, 用的是python3.7
就報錯:
"/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/multiprocessing/connection.py", line 136, in _check_closedraise OSError("handle is closed")
OSError: handle is closed
于是就把processpool.shutdown(wait=False) 這個注掉,把這個語句放在 整個程序的最后,
以上錯誤沒再出現, 但是出現別的錯誤了,
嘗試改為:processpool.shutdown(wait=True), 就好了,
同事說,python3.7 的 ProcessPoolExecutor的shutdown 方法有所修改,關閉了某些東西,另外這種
shutdown的方式 也不太友好, 這里先記錄以下, 等找到原因 再回來進行補充!!!