Все, я пытаюсь распараллелить некоторый код, используя многопроцессорность, и я сократил свой код так, чтобы комментировать строку моего основного класса
self.obs = Observer(self.guess)
заставляет систему работать без ошибок. Если я напишу
obs = Observer(self.guess)
Это работает, но если я пишу self.obs, я получаю
TypeError: can't pickle Observer objects
Вот весь класс, который я пытаюсь импортировать. Это просто оболочка для ephem.Observer, у которой при импорте была такая же ошибка.
import numpy as np
from req import SETTINGS
from req.helpers import load_db, pack_into_vector, create_observer
class Observer:
def __init__(self, beta=np.zeros((2,))):
self.observer = create_observer(beta)
return
def __getstate__(self):
return {'observer': self.observer}
Ошибка возникает в p.start (), где
p = Process(target=selector,args=(first_guess, recording_queue, guess_queue))