2016-05-24 20 views
1

我有以下问题与ipyparallel(使用python 3.4)。 view.sync_imports确实忽略了我尝试用'as'指令绑定它们的额外模块名称。ipyparallel view.sync_import不绑定到其他名称

例子:

c = Client(profile='slurm') 
v = c[:] 
with v.sync_imports(): 

    import pandas as pd 

Output: importing pandas on engine(s) 

所以大熊猫是只在名称 '大熊猫' 可用。 任何人有什么建议我可以做些什么呢?

我也试过%PX魔法,不利于

回答

2

当你

import pandas as pd 

的Python解释,作为两个操作:importassignment

import pandas 
pd = pandas 

sync_imports()作为实施一个import hook,其中(据我所知)只能访问导入部分,而不是分配部分。这意味着sync_imports只能支持import pandas而不支持import pandas as pd

然而,%px应该的工作,因为它只是直接执行:

import pandas as pd  # local 
%px import pandas as pd # remote 

或具有--local细胞魔法,如果你想要做的所有引擎和本地工作区的共享初始化:

%%px --local 
import pandas as pd 
def defined_everywhere(): 
    """...""" 
+0

[@minrk]很酷,谢谢你的解释。 – PlagTag