我有以下用python编写的代码:
from IPython.core.debugger import Tracer
from IPython.parallel import Client
dview = Client()[:]
Tracer()();#First Tracer
numeric_rigs = dview.map_sync(lambda b,c=cluster,o=options:calculate_rig(c,b,o),borders);
Tracer()();#Second Tracer
当我停在第一个Tracer上并在调试器中手动运行第二行时 - 一切正常。但是,如果我在第一个跟踪器之后继续运行代码,则第二行失败并显示消息抱歉,无法使用闭包腌制代码对象。
我不明白为什么这条线在调试器中工作但不能独立工作。有人可以帮忙吗?
谢谢。
答案 0 :(得分:0)
你的代码不是可以运行的,但我可以猜到你可能尝试的东西。
尝试:
dview.use_dill()
如果安装了dill
,这将为您提供更好的序列化。
在此处获取dill
:https://github.com/uqfoundation
或使用pip
安装dill
。