在我问你之前,请了解我的英语不好。对不起。
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