Python рассол вопрос. Я не знаю, почему произошла эта ошибка - PullRequest
0 голосов
/ 22 октября 2019

Прежде чем я спрошу вас, пожалуйста, поймите, что я не очень хорош в английском. извините.

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__()

Это часть моего кода.

Он прекрасно работает при компиляции и отладке, но когда я пишу exe-файл с помощью cx_freeze и запускаю exe-файл, я получаюследующее сообщение об ошибке:

_pickle.PicklingError: Can't pickle: поиск атрибута all_loopStop на main не удалось

После поиска в течение часа яЯ думаю, что причиной ошибки являются данные, не сериализованные, но функция all_loopStop не нуждается в сериализованных данных, поэтому я не знаю, почему возникает ошибка.

Среда разработки - python3.7 32bit. и я также приложу подробное окно консоли отладки.

Мне очень нужна ваша помощь. Я еще раз прошу прощения за то, что задал вопросы с моим плохим английским языком. введите описание изображения здесь

...