繁体   English   中英

安装多处理 python3

[英]Install Multiprocessing python3

对 Python 来说很新。 我想安装python的多处理模块。 我正在使用 python 3.6 和 pip 9.1 版。

我收到一个错误,这让我相信,由于没有与 python 3 兼容的多处理模块,可能会发生以下错误。

$ pip3 install multiprocessing
Collecting multiprocessing
  Using cached multiprocessing-2.6.2.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/8m/2fkldrg12lg0qzlhpm8yvyq00000gn/T/pip-build-dqdczlx9/multiprocessing/setup.py", line 94

所以,我使用安装了模块的 pip install multiprocessing 安装了模块。 我在 python 3 中编写了很多代码,所以我想使用它,我正在使用 pycharm 编辑器,我已将其配置为使用 python3。 现在,如果我在编辑器中执行代码,它会抛出类似的错误

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/kkk/Desktop/testing/multiprocessing.py
Traceback (most recent call last):
  File "/Users/testing/multiprocessing.py", line 11, in <module>
    p = multiprocessing.Process(target=worker)
AttributeError: module 'multiprocessing' has no attribute 'Process'

Process finished with exit code 1

对于代码

    import multiprocessing

def worker():
    """worker function"""
    print ('Worker')
    return

if __name__ == '__main__':
    jobs = []
    for i in range(5):
        p = multiprocessing.Process(target=worker)
        jobs.append(p)
        p.start()

我能做些什么来解决这个问题?

谢谢

从 Python 2.6 开始, multiprocessing是一个内置模块。

它与 Python 一起提供,不需要特定的安装步骤。

问题不在于multiprocessing模块,而在于您命名脚本方式,您实际上是在其中尝试导入multiprocessing模块。 您将其命名为与模块相同的名称,即multiprocessing.py ,因此import multiprocessing实际上导入脚本本身而不是标准库的模块。

这是因为Python在不同位置和以特定顺序搜索模块方式

  • 包含输入脚本的目录(或未指定文件时的当前目录)。
  • PYTHONPATH (目录名称列表,与 shell 变量 PATH 具有相同的语法)。
  • 依赖于安装的默认值。

如您所见,Python 查找要导入的模块的第一个位置是包含输入脚本的目录。 这就是它在您的情况下导入脚本本身的原因。 并且您的脚本不包含您尝试使用的Process类,这就是您收到错误AttributeError: module 'multiprocessing' has no attribute 'Process'

这个问题不是multiprocessing模块特有的,任何模块都会发生。 因此,最好不要将您的脚本命名为您将要使用的现有模块 (import)

将您的文件名更改为除 multiprocessing.py 之外的任何名称...您的代码将尝试导入自身。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM