многопроцессорный пакет в интерактивном Python

У меня есть следующий код test.py:

#multiprocessing in the interactive Python 

import time
from multiprocessing import Process, Pipe

def MyProcess(a):

    while(1):
       time.sleep(1)
       a.send("tic")    

if __name__ == "__main__":

    a, b = Pipe() 

    p = Process(target=MyProcess, args=(a,))
    p.start()

    while(1):
       msg=b.recv()
       print(msg)

Он отлично работает, если я выполняю его в оболочке DOS "python test.py", но не работает, если я использую "Execute File" из IEP (Pyzo).

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\pyzo2014a_64b\lib\multiprocessing\spawn.py", line 106, in spawn_main
    exitcode = _main(fd)
  File "C:\pyzo2014a_64b\lib\multiprocessing\spawn.py", line 116, in _main
    self = pickle.load(from_parent)
AttributeError: Can't get attribute 'MyProcess' on <module '__main__' (built-in)>

Я обнаружил, что это задокументированная «проблема». Пожалуйста, проверьте ответ по ссылке ниже.

многопроцессорные перерывы в интерактивном режиме

Значит ли это, что я не должен использовать многопроцессорный пакет из интерактивного Python? Означает ли это, что я не могу создать процесс из консоли IPython? Любые разъяснения по этому вопросу будут высоко оценены

Ответы на вопрос(1)

Ваш ответ на вопрос