当前位置:  开发笔记 > 编程语言 > 正文

解决Ipython Notebook中的多处理错误?

如何解决《解决IpythonNotebook中的多处理错误?》经验,为你挑选了0个好方法。

我正在尝试在Ipython Notebook中使用多处理模块,但是当我执行我的代码时,它崩溃了内核:

from multiprocessing import Pool

def f(x):
    return x*x

p = Pool(8)
p.map(f, [1, 2, 3])

文档提供了这些信息:

此程序包中的功能要求模块可由子项导入.这在编程指南中有所涉及,但值得在此指出.这意味着某些示例(例如multiprocessing.Pool示例)在交互式解释器中不起作用

但是,该模块似乎适用于某些模块,例如本教程:

http://nbviewer.jupyter.org/github/ResearchComputing/Python-HPC-Spring-2013/blob/master/08_parallel/multiprocessing.ipynb

其他stackoverflow线程表明您应该重新排列代码,如下所示:

另一个与多处理错误的混淆,'module'对象没有属性'f'

但我仍然得到同样的错误:

AttributeError: 'module' object has no attribute 'f'

我使用的是Windows 8,Python 2.7.12以及最新版本的IPython Notebook/Anaconda发行版.

这个bug有没有明确的解决方案?

错误的来源真的缺少if __name__ =="__ main__":声明吗?

这是一个特定于Windows的问题,还是也适用于unix?

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有