如果在 pyqt5 中使用多处理,PyInstaller 可执行文件不工作

PyInstaller executable is not working if using multiprocessing in pyqt5

我正在从事与 pyqt5 GUI 相关的项目。我使用 multiprocessing 来让它更快。当我 运行 我的程序在编辑器中时,它工作正常。 但是,当我使用 pyinstaller 将我的程序转换为可执行文件时,然后 运行 通过此可执行文件对程序进行编译时,它无法正常工作。 GUI 打开,但一旦涉及到代码的多处理部分就关闭(我通过放置一些打印语句来了解这一点)

我也试过mutiprocessing.freeze_support(),还是不行。

如果我删除多处理,通过可执行程序的程序工作正常,但我需要使用多处理来使其更快。

有什么建议吗?

我刚才遇到了同样的问题,我推荐使用 Nuitka 因为它支持多处理。如果问题持续存在,请尝试使用 threading 库:

from threading import Thread
def worker(a,b):
    while True:
        print(a+b)
        a+=1
my_thread = Thread(target = worker, args = [10,20])
my_thread.start()

如果你想在某个点终止线程,你也可以设置一个class。