2014-06-17 38 views
0

我有下面這段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

你要從哪裏導入'cluster','options','border'和'calculate_rig'?如果你包含你的進口,所以人們可以試用你的代碼,你很可能會得到幫助。 –

回答

0

你的代碼是不可運行的,因爲我可以猜測你可能會嘗試的東西。

嘗試:

dview.use_dill() 

這會給你更好的系列化,如果你有安裝dill

獲取dill這裏:https://github.com/uqfoundation

或者使用pip安裝dill