Python泡菜问题。我不知道为什么会发生此错误

时间:2019-10-22 20:20:50

标签: python-3.x multiprocessing pickle shared-memory

在我问你之前,请了解我的英语不好。对不起。

import...

sharedMem_chk=mp.Value(ctypes.c_bool,False)

def all_loopStop(chk):
    #print("[def]all_loopStop:::ready")
    while True:
        if chk.value==False:
            if keyboard.is_pressed('q'):
                print("::stop loop::")
                chk.value=True

def __init__():
    test1 = mp.Process(target=all_loopStop, args=(sharedMem_chk,))
    test1.start()

if __name__ == '__main__':
    __init__()

这是我的代码的一部分。

在编译和调试时工作正常,但是当我使用cx_freeze编写exe文件并运行该exe文件时,出现以下错误消息:

  

_pickle.PicklingError:无法腌制:主要上的属性查找all_loopStop失败

搜索一个小时后,我认为错误的原因是数据未序列化,但是all_loopStop函数不需要序列化的数据,所以我不知道为什么会发生错误。

开发环境是python3.7 32bit,我还将附加一个详细的调试控制台窗口。

我非常需要您的帮助。我再次为我的英语不好问道歉。 Debug console screenshot

0 个答案:

没有答案