Hugo GutiƩrrez de Teran wrote: > Well, updating to the last version 9.7 I get one step further, but still > in trouble (see bellow the log message). I also attach my script, which > runs without problem in serial mode. ... > raise RemoteError(obj.exc, self) > modeller.parallel.communicator.RemoteError: <type 'AttributeError'>: > 'module' object has no attribute 'MyLoop' from <Slave on localhost>
Modeller's parallel support uses Python's 'pickle' module, and it's a quirk of that module that any classes you define (such as MyLoop) cannot be in the main script but must be defined in a module that you import. See examples/python/parallel-task.py for an example. So the solution is fairly straightforward - simply take the definition of the MyLoop class out of your main script and put it in a different file (say myloop.py) in the same directory as your script, then at the start of your script say "from myloop import MyLoop".
Ben Webb, Modeller Caretaker