簡體   English   中英

具有多處理功能的py2exe無法運行進程

[英]py2exe with multiprocessing fails to run the processes

我在Windows 7上使用Python 2.6,我正在嘗試使用多進程:

p = Process(target=f, args=(SOME_ARGS))
p.start()
p.join()

我從CMD運行代碼(使用解釋器)一切正常,但在我用py2exe創建一個exe文件后,進程的執行失敗,出現以下錯誤:

錯誤:沒有這樣的選項:--multiprocessing-fork

我發現的所有解決方案都無濟於事。 有任何想法嗎?

你知道你使用的是2008年的應用嗎? (py2exe),python是在不斷實現,然后給出py2exe的問題,我可以給你一個更好的解決方案......

你可以使用cxfreeze: http ://cx-freeze.sourceforge.net/

簡單,簡單,優秀,實現。

我希望這對你有所幫助。

將Python腳本打包成可執行文件以便在Windows上使用時,需要調用multiprocessing.freeze_support() 這個調用應該在if __name__ == '__main__':之后if __name__ == '__main__':在實際調用main()

這是一個很棒的鏈接 ,解釋了如何凍結多處理程序以使其與py2exe一起使用:

也就是說,您需要在調用main之后立即調用multiprocessing.freeze_support()

import multiprocessing

if __name__ == '__main__':
    multiprocessing.freeze_support()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM