无法从“多处理”中导入名称“处理”

时间:2019-06-04 07:15:58

标签: python python-3.x python-multiprocessing

我写了一个python代码来使用多重处理计算数字的平方。 它显示以下错误。如何解决。

import os
from multiprocessing import Process, current_process


def sqaure(number):
    result=number*number
    process_id=os.getpid()
    print(f"Process ID : {process_id}")
    print(f"the number {number} sqaures to {result}")

if __name__=='__main__':
    numbers=[1,2,3,4]
    processes=[]
    for number in numbers:
        process=Process(target=sqaure, args=(number,))
        processes.append(process)

        process.start()

错误:

Traceback (most recent call last):
  File "C:/Users/Rohan/PycharmProjects/untitled1/hyu.py", line 2, in <module>
    from multiprocessing import Process, current_process
ImportError: cannot import name 'Process' from 'multiprocessing' (C:\Users\Rohan\PycharmProjects\untitled1\multiprocessing.py)

2 个答案:

答案 0 :(得分:3)

您将python文件名命名为“ multiprocessing.py”,这将与multprocessing模块冲突。只需重命名您的脚本名称即可。

答案 1 :(得分:1)

回溯中的行文件“(C:\ Users \ Rohan \ PycharmProjects \ untitled1 \ multiprocessing.py)”表明您在工作目录中有一个名为multiprocessing.py的文件。

请尝试删除/重新命名它,因为它会遮盖真正的多处理模块。这里的问题是,sys.path中的第一个条目始终是“”,因此在执行import.

时,工作目录中的文件将比标准模块优先。