Importieren Sie benutzerdefinierte Module in IPython.parallel-Engines mit sync_imports ()
Ich habe mit IPython.parallel herumgespielt und wollte einige eigene benutzerdefinierte Module verwenden, konnte dies jedoch nicht, wie im Folgenden erläutertDas Kochbuch mitdview.sync_imports()
. Das einzige, was für mich funktioniert hat, war so etwas
def my_parallel_func(args):
import sys
sys.path.append('/path/to/my/module')
import my_module
#and all the rest
und dann in der Hauptsache nur um
if __name__=='__main__':
#set up dview...
dview.map( my_parallel_func, my_args )
Der richtige Weg, dies zu tun, wäre meiner Meinung nach so etwas wie
with dview.sync_imports():
import sys
sys.path.append('/path/to/my/module')
import my_module
Dies löst jedoch einen Fehler aus, der besagt, dass es kein Modul mit dem Namen gibtmy_module
.
Also, was ist der richtige Weg, um es zu tundview.sync_imports()
??