2014-09-24 40 views
0

我正在开发一个使用IPython并行的分布式应用程序。在IPython集群引擎中,有几项任务要依次进行。 这些任务之一不可避免地使用闭包。因此,我必须通过调用dv.use_dill()来告诉IPython使用Dill而不是Pickle。虽然这应该是暂时的。告诉IPython在Dill激活后再次使用Pickle

莳萝启用后,有什么方法可以再次激活腌制吗?我找不到任何功能(形式为dv.use_pickle()),这将使这样一个选项明确。

回答

1

我是dill作者。我不知道IPython是否会发生任何不寻常的事情,但是如果您喜欢通过dill直接与dill.extend(False) ...,但您可以恢复为pickle ......虽然这是一个相对较新的功能(尚未发布在稳定版本中)。

如果IPython没有dv.use_pickle()(它现在还没有),它应该......并且可以使用上面的方法来做到这一点。

+0

@ t3c:也许你可以填写一个IPython票据,并链接到这个页面... – 2014-10-19 11:13:33

+0

我很困惑我收到一条消息说'AttributeError:'模块'对象没有属性'extend''我输入' dill.extend(False)' – evan54 2014-12-21 19:52:39

+0

这是'dill'的一个更新功能(如前所述,它不是一个稳定版本)。你有旧版本吗?一个新版本即将发布(截至撰写本文),但在此之前,如果你想'dill.extend',那么你需要从github上获取最新版本。 – 2014-12-21 21:12:16