使用sync_imports()在IPython.parallel引擎上导入自定义模块

2024-03-09

我一直在玩 IPython.parallel,我想使用我自己的一些自定义模块,但无法按照上的说明进行操作烹饪书 http://ipython.org/ipython-doc/stable/parallel/parallel_multiengine.html using dview.sync_imports()。唯一对我有用的是

def my_parallel_func(args):
    import sys
    sys.path.append('/path/to/my/module')
    import my_module
    #and all the rest

然后主要是为了

if __name__=='__main__':
     #set up dview...
     dview.map( my_parallel_func, my_args )

我认为正确的方法是这样的

 with dview.sync_imports():
     import sys
     sys.path.append('/path/to/my/module')
     import my_module

但这会引发错误,指出没有名为的模块my_module.

那么,使用的正确方法是什么dview.sync_imports()??


问题是你正在改变PYTHONPATH只在运行客户端的本地进程中,而不是在运行客户端的远程进程中ipcluster.

如果运行下一段代码,您可以观察到此行为:

from IPython.parallel import Client

rc = Client()
dview = rc[:]

with dview.sync_imports():
    import sys
    sys.path[:] = ['something']
   
def parallel(x):
    import sys
    return sys.path

print 'Local: ', sys.path
print 'Remote: ', dview.map_sync(parallel, range(1))

基本上您想要使用的所有模块sync_imports必须已经在PYTHONPATH.

如果它不在PYTHONPATH那么你必须将其添加到你远程执行的函数中的路径中,然后在函数中导入该模块。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用sync_imports()在IPython.parallel引擎上导入自定义模块 的相关文章

随机推荐

  • Pascal 中的“#”符号是什么?

    例如 x 123 我尝试在谷歌上搜索 但我根本不知道这意味着什么 IIRC 它表示数字的字符值 例如 32 gt 空格
  • 撤消系列差异

    我有一个包含每月数据的 pandas 系列 df sales 我需要减去 12 个月前的数据来拟合时间序列 所以我运行了以下命令 sales new df sales diff periods 12 然后我拟合了 ARMA 模型 并预测了未
  • SKEase动作,如何使用Float改变Action Setter Block?

    在下面的用例中 我尝试为lineWidth of an SKShapeNode SKEase 是精彩的一部分SpriteKit缓动 https github com craiggrummitt SpriteKitEasingSwift来自
  • 如何从 vbscript 中的 html 页面中提取值 - 我尝试了 MSXML2.DOMDocument

    下面是我尝试从网页中的节点获取值的一些代码 但在尝试设置 objNode 时失败 非常感谢任何帮助 Dim objHttp sWebPage objNode objDoc Set objDoc CreateObject MSXML2 DOM
  • 连锁承诺并保留“这个”

    我有一个点击处理程序 需要一个接一个地进行多个异步调用 我选择使用承诺来构建这些调用 RSVP https github com tildeio rsvp js 准确地说 下面 您可以看到clickA处理程序 在控制器内部 这是一个 Emb
  • 错误:该元素具有 type 属性以及匿名子类型

    具有 type 属性的嵌套复杂 XSD 元素 只是想弄清楚为什么 XSD 中的复杂元素不能有类型属性和嵌套的复杂元素 毕竟类型只是用户定义的数据类型 因此应该能够包含任何内容 包括其他用户定义的数据类型 XSD 解析器抛出错误 该元素具有
  • ggplot2:标签表达式中的字体样式

    更改字体和大小效果很好 无需在标签中表达 这是我在更改标签表达式中的字体时遇到问题的代码 p lt ggplot data mtcars aes x wt y mpg geom point labs x Weight y expressio
  • androidx.work.impl.WorkManagerInitializer:java.lang.ClassNotFoundException:路径上的“androidx.work.impl.WorkManagerInitializer”:/data

    我最近将旧应用程序的后台服务迁移到工作经理 https developer android com topic libraries architecture workmanager 在最近的设备上 低至包含 SDK 22 看起来不错 运行重
  • 解封时出现属性错误:无法获取属性“位置”

    我正在为库存系统编写 Python CGI 脚本 需要通过存储pickle一个列表 称为locations 的对象 这是我正在使用的代码 try with open config autosave bin rb as dataFile lo
  • 整数分数约简算法

    这来源于最近完成的一次编程比赛 给你两个 10 5 整数的数组 范围在 1 10 7 含 内 int N 100000 int D 100000 想象有理数 X 是 N 的所有元素相乘并除以 D 的所有元素的结果 修改两个数组而不更改 X
  • Bootstrap 3 导航栏 - 无法正确折叠

    导航栏曾经正常工作 但我做了一些更改 它不再工作 当我将窗口缩小时 会显示切换方块 但是当我单击它时 什么也没有发生 Note 导航栏在全屏下工作正常 它只是在小窗口中 当我单击切换按钮时 下拉菜单不会出现 想知道是否有人知道如何解决它 这
  • 无法在 Eclipse 上调试基于 Android 库构建的 Android 本机代码

    我已经为此苦苦挣扎了三天 但无法完成 我有一个 android 项目 它链接到 eclipse 上的 android 库 其中包含本机代码 I saw 这个问题 https stackoverflow com questions 12638
  • pandas - 获取日期时间数据框中每天的第一个和最后一个值

    我有一个月的数据框 不包括周六和周日 每 1 分钟记录一次 v1 v2 2017 04 03 09 15 00 35 7 35 4 2017 04 03 09 16 00 28 7 28 5 2017 04 03 16 29 00 81 7
  • 处理表中的溢出

    如果我有一个像这样非常非常简单的例子的表 table table layout fixed width 300px td1 width 100px td2 width 200px 在我的其中之一 td2包含一个图像 可以说 300px in
  • C++ 删除静态数据

    如果我有一个类 其中包含分配在堆上且永不更改的私有静态数据 那么我应该什么时候 如果有的话 删除它 据我了解 类本身永远不会被构造 因为类不是 C 中的第一类对象 那么没有析构函数来删除其中的静态数据 我是 C 新手 如果我对 C 的理解有
  • 如何使用logstash插件-logstash-input-http

    我正在探索 Logstash 以接收 HTTP 上的输入 我已经使用以下方式安装了 http 插件 插件安装logstash input http 安装成功 然后我尝试使用以下命令运行logstash Logstash e 输入 http
  • R:Tibble 与 ggplot2(绘制图表)

    我正在尝试遵循 R 中的教程 https rviews rstudio com 2017 09 25 survival analysis with r https rviews rstudio com 2017 09 25 survival
  • 当用户调整 QMainWindow 大小时如何分配回调?

    我既无法在 QMainWindow 上找到类似教程的调整大小事件方案 也没有在 Qt 设计窗口的下拉菜单中看到任何用于添加调整大小事件的选项 我是 Qt 新手 我想为 QMainWindow 调整大小事件编写一个槽函数 有这样的活动吗 我怎
  • 在 Excel 中设置 csv 文件格式

    Win XP Excel 2007 我知道还有很多关于 csv 格式的其他帖子 但无法找到我需要的内容 我们的一些数据被另一家公司保存在异地 他们每天早上都会向我们发送包含前几天数据的 csv 文件 问题是这些数据来自可能具有下拉列表的网络
  • 使用sync_imports()在IPython.parallel引擎上导入自定义模块

    我一直在玩 IPython parallel 我想使用我自己的一些自定义模块 但无法按照上的说明进行操作烹饪书 http ipython org ipython doc stable parallel parallel multiengin