簡體   English   中英

使用 Python 多處理運行 a.exe 文件時出錯

[英]Error when running a .exe file using Python multiprocessing

我最近在我的 python 項目之一中涉足了multiprocessing

我會在我的終端中運行我的腳本,一切都會完美運行。 但是,當我使用pyinstaller.py腳本轉換為.exe時,它不再起作用了。

我已將其縮小到Manager()方法的問題。

考慮以下代碼:

from multiprocessing import Manager

if __name__ == '__main__':
    print("Starting")
    manager = Manager()
    print("Worked")

將腳本作為.py文件運行輸出:
> Starting
> Worked

轉換為.exe后,腳本輸出連續Starting
> Starting
> Starting
> Starting
etc...

如果有任何幫助,我在對正在運行的代碼執行鍵盤中斷后設法抓住了這個錯誤代碼

如果你們遇到同樣的問題,或者知道如何解決這個問題,請告訴我。 周末愉快<3

非常感謝gddc我所要做的就是
導入額外的方法
並添加一個額外的命令
代碼現在看起來像這樣:

from multiprocessing import Manager, freeze_support

if __name__ == '__main__':
    freeze_support()
    print("Starting")
    manager = Manager()
    print("Worked")

<kite.com/python/docs/multiprocessing.freeze_support>

問題是...pyinstaller 有很多問題。 事實上,大多數用於將.py文件轉換為.exe的模塊都可以。 老實說,我真的不認為這是多處理的問題,但它可能是。 我建議也許嘗試其他模塊將.py轉換為.exe ,例如cx_freezeauto_py_to_exe

暫無
暫無

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

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