Я играю с библиотекой для своих учеников-новичков, и я использую модуль многопроцессорности в Python. Я столкнулся с этой проблемой: импорт и использование модуля, который использует многопроцессорность, не вызывая бесконечного цикла в Windows
 В качестве примера предположим, что у меня есть модуль mylibrary.py:
# mylibrary.py
from multiprocessing import Process
class MyProcess(Process):
    def run(self):
        print "Hello from the new process"
def foo():
    p = MyProcess()
    p.start()
 И основная программа, которая вызывает эту библиотеку:
# main.py
import mylibrary
mylibrary.foo()
  Если я запустил main.py в Windows, он попытается импортировать main.py в новый процесс, что означает, что код выполняется снова, что приводит к бесконечному циклу генерации процесса. Я могу исправить это так:
import mylibrary
if __name__ == "__main__":
    mylibrary.foo()
  Но это довольно запутанно для новичков, и, более того, похоже, что это не обязательно. Новый процесс создается в mylibrary, поэтому почему новый процесс просто не импортирует mylibrary? Есть ли способ обойти эту проблему, не main.py?
Кстати, я использую Python 2.7.