ipyparallel view.sync_import不绑定到其他名称

时间:2016-05-24 12:52:30

标签: python ipython-parallel

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

示例:

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

    import pandas as pd

Output: importing pandas on engine(s)

所以熊猫只能以“熊猫”的名义出现。 有人建议我能做些什么吗?

我也试过%px魔法,没有帮助

1 个答案:

答案 0 :(得分: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():
    """..."""