ipyparallel view.sync_import 不绑定到其他名称
ipyparallel view.sync_import does not bind to additional name
我对 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)
因此 pandas 只能在名称 'pandas' 下使用。
有人建议我能做些什么吗?
我也试过 %px 魔法,没有帮助
当你做的时候
import pandas as pd
Python 将其解释为两个操作:import
和 assignment
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():
"""..."""
我对 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)
因此 pandas 只能在名称 'pandas' 下使用。 有人建议我能做些什么吗?
我也试过 %px 魔法,没有帮助
当你做的时候
import pandas as pd
Python 将其解释为两个操作:import
和 assignment
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():
"""..."""