You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyCharm中使用multiprocessing报错,该如何解决?

PyCharm中使用multiprocessing模块遇到Pickle报错问题

在PyCharm中运行以下multiprocessing代码时出现报错,但相同代码在Jupyter Notebook中可正常运行,现有搜索到的解决方案均无效,寻求帮助。

代码示例

import multiprocessing
import time

inicio = time.perf_counter()


def calcula_soma():
    print('Iniciando a Funcao...')
    soma = 0
    for i in range(50_000_000):
        soma = soma + 1
    print('Calculo Finalizado!')


if __name__ == '__main__':
    cod1 = multiprocessing.Process(target=calcula_soma)
    cod2 = multiprocessing.Process(target=calcula_soma)

    cod1.start()
    cod2.start()

    cod1.join()
    cod2.join()

    fim = time.perf_counter()
    total = round(fim - inicio, 2)
    print(f'Tempo: {total}')

报错信息

Traceback (most recent call last):
  File "C:....\Anaconda3\envs\teste\lib\code.py", line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
  File "C:....\AppData\Local\JetBrains\PyCharm 2022.2.4\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 198, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "C:....\AppData\Local\JetBrains\PyCharm 2022.2.4\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "C:....\PycharmProjects\pythonProject\teste.py", line 19, in <module>
    cod1.start()
  File "C:....\Anaconda3\envs\teste\lib\multiprocessing\process.py", line 121, in start
    self._popen = self._Popen(self)
  File "C:....\Anaconda3\envs\teste\lib\multiprocessing\context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "C:....\Anaconda3\envs\teste\lib\multiprocessing\context.py", line 336, in _Popen
    return Popen(process_obj)
  File "C:....\Anaconda3\envs\teste\lib\multiprocessing\popen_spawn_win32.py", line 93, in __init__
    reduction.dump(process_obj, to_child)
  File "C:....\Anaconda3\envs\teste\lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <function calcula_soma at 0x0000021CE30DE0E0>: attribute lookup calcula_soma on __main__ failed
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:....\Anaconda3\envs\teste\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "C:....\Anaconda3\envs\teste\lib\multiprocessing\spawn.py", line 126, in _main
    self = reduction.pickle.load(from_parent)
EOFError: Ran out of input

内容的提问来源于stack exchange,提问作者Romeu Fronzaroli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 13:41:02