【问题标题】:Getting TypeError: 'module' object is not callable获取 TypeError:“模块”对象不可调用
【发布时间】:2020-05-02 13:06:27
【问题描述】:

我目前通过运行一个非常简单的代码来面临上述错误:

代码:

import multiprocessing as mp
import time as t

def do_something():
       t.sleep(1)
       print("Done Sleeping")

p1 = mp.process(target=do_something)
p2 = mp.process(target=do_something)

p1.start()
p2.start()

p1.join()
p2.join()

我明白了

Error: TypeError: 'module' object is not callable

不确定这里到底出了什么问题。你能帮我理解我的错误吗?

【问题讨论】:

  • 请您澄清一下抛出了哪一行异常?
  • 仅供参考 - Python 多处理的更新(和更简单)的方法是使用 concurrent.futures module

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


【解决方案1】:

Process 类需要一个大写的 P 才能被拾取。

如果没有资本,您正在尝试实例化模块:multiprocessing.process

尝试以下方法:

import multiprocessing as mp
import time as t

def do_something():
   t.sleep(1)
   print("Done Sleeping")

p1 = mp.Process(target=do_something)
p2 = mp.Process(target=do_something)

p1.start()
p2.start()

p1.join()
p2.join()

【讨论】:

    【解决方案2】:

    变化:

    p1 = mp.process(target=do_something)
    p2 = mp.process(target=do_something)
    

    收件人:

    p1 = mp.Process(target=do_something)
    p2 = mp.Process(target=do_something)
    

    【讨论】:

      猜你喜欢
      • 2017-06-17
      • 2014-09-21
      • 2011-05-30
      • 2021-11-22
      • 2017-05-08
      • 1970-01-01
      相关资源
      最近更新 更多