Python多处理错误:AttributeError:模块'__main__'没有属性'__sp

Python Multiprocessing error: AttributeError: module #39;__main__#39; has no attribute #39;__spec__#39;(Python多处理错误:AttributeError:模块__main__没有属性__spec__)
本文介绍了Python多处理错误:AttributeError:模块'__main__'没有属性'__spec__'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在使用 Python 3.6,并尝试遵循下面网站上的第一个示例(完整代码也在下面)并且收到以下错误:https://docs.python.org/3.6/library/multiprocessing.html

I'm using Python 3.6 and am trying to follow along with the very first example at the website below (full code also below) and am getting the below error: https://docs.python.org/3.6/library/multiprocessing.html

错误信息:AttributeError: 模块 '__main__' 没有属性 '__spec__'

完整示例代码:

from multiprocessing import Pool

def f(x):
    return x*x

if __name__ == '__main__':
    with Pool(5) as p:
        print(p.map(f, [1, 2, 3]))

我尝试用谷歌搜索它并搜索 Stack Overflow,但我只发现了另一种这种错误的情况,它没有答案.

I tried Googling it and searching Stack Overflow but I've only found one other case of this error and it did not have an answer.

推荐答案

问题不在于代码/Python 3.6,而在于 Spyder.

The problem is not with the code / Python 3.6, it is with Spyder.

经过一番调查,我发现代码在外部系统终端中执行时运行良好,但在 Spyder 的 IPython 控制台中运行时却不行.

After some investigation I found that the code runs fine when executed in an external system terminal but not when run in Spyder's IPython console.

我能够转储 spec 的内容并将它们分配给包含在 main 中的变量,以允许此代码在 IPython 控制台中运行.

I was able to dump the contents of spec and assign them to a variable that was included inside main to allow this code to function within the IPython console.

from multiprocessing import Pool

def f(x):
    return x*x

if __name__ == '__main__':
    __spec__ = "ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>)"
    with Pool(5) as p:
       print (p.map(f, [1, 2, 3]))

这篇关于Python多处理错误:AttributeError:模块'__main__'没有属性'__spec__'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

build conda package from local python package(从本地 python 包构建 conda 包)
How can I see all packages that depend on a certain package with PIP?(如何使用 PIP 查看依赖于某个包的所有包?)
How to organize multiple python files into a single module without it behaving like a package?(如何将多个 python 文件组织到一个模块中而不像一个包一样?)
Check if requirements are up to date(检查要求是否是最新的)
How to upload new versions of project to PyPI with twine?(如何使用 twine 将新版本的项目上传到 PyPI?)
Why #egg=foo when pip-installing from git repo(为什么从 git repo 进行 pip 安装时 #egg=foo)