Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有多处理、酸洗错误的python队列_Python_Multiprocessing_Queue - Fatal编程技术网

具有多处理、酸洗错误的python队列

具有多处理、酸洗错误的python队列,python,multiprocessing,queue,Python,Multiprocessing,Queue,为什么此代码会向我抛出错误: import multiprocessing as mp def my_process(q): print(q.get()) if __name__ == '__main__': q = mp.Queue(maxsize=4) iolock = mp.Lock() pool = mp.Pool(processes=2, initializer=my_process, initargs=(q)) for x in r

为什么此代码会向我抛出错误:

import multiprocessing as mp


def my_process(q):
    print(q.get())


if __name__ == '__main__':
    q = mp.Queue(maxsize=4)

    iolock = mp.Lock()
    pool = mp.Pool(processes=2, initializer=my_process, initargs=(q))

    for x in range(0,10):
        q.put(x)

    pool.close()
    pool.join()


AttributeError: Can't get attribute 'my_process' on <module '__main__' (built-in)>

我猜可能是因为您的
initargs
不是元组?尝试在q之后添加逗号
initargs=(q,)
很好的尝试,但这里不是这样。嗯,你能提供完整的堆栈跟踪和特定的python版本吗?在添加逗号后,我可以使用python3.6运行良好。我使用python 3.7.3和ipython 7.0.1。好吧,我也使用完全相同的版本,在linux上,除了逗号之外,我无法重现错误。我猜这可能是因为您的
initargs
不是元组吗?尝试在q之后添加逗号
initargs=(q,)
很好的尝试,但这里不是这样。嗯,你能提供完整的堆栈跟踪和特定的python版本吗?在添加逗号后,我可以使用python3.6正常运行。我正在使用python 3.7.3和ipython 7.0.1。好吧,我也在使用完全相同的版本,在linux上,除了逗号之外,我无法重现错误。
AttributeError: Can't get attribute 'my_process' on <module '__main__' (built-in)>
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\PROGRAMS\Miniconda3_64\envs\py37hdb\lib\multiprocessing\spawn.py", line 105, in spawn_main
    exitcode = _main(fd)
  File "C:\PROGRAMS\Miniconda3_64\envs\py37hdb\lib\multiprocessing\spawn.py", line 115, in _main
    self = reduction.pickle.load(from_parent)