пафосная многопроцессорная обработка Получение AttributeError: Невозможно получить атрибут SomeClass в <module '__mp_main__' из 'path \ to \ packageConstructor.py' - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь понять многопроцессорность с помощью простой задачи многопроцессорности с использованием модуля pathos, но я получаю следующую ошибку

AttributeError: Не удается получить атрибут SomeClass на mp_main из 'Путь \ к \ packageConstructor.py'

Вот мой полный код для обзора:

from random import randint
import os
import pathos
mp = pathos.helpers.mp
prc = pathos.helpers.mp.Process
class SomeClass:
    def m1(self):
        self.objAttr = randint(20000,40000)
        self.selfID = id(self)
        self.m2()
    def m2(self):
        print(os.getpid(), self.objAttr,self.selfID)

    def checkMultiprocessing(self):
        for c in range(10):
            exec(f"p{c} = prc(target=self.m1)")
            exec(f"p{c}.start()")
        for c in range(10):
            exec(f"p{c}.join()")
if __name__ == "__main__":
    mp.freeze_support()
    SomeClass().checkMultiprocessing()

Чего мне не хватает?

...