Python 多处理 - PermissionError:[WinError 5] 访问被拒绝

dea*_*x45 5 python multiprocessing python-3.x

我正在使用多处理来同时运行多次的函数。我收到此错误: PermissionError: [WinError 5] Access is denied 我认为这意味着我需要以管理员身份运行该程序,因此我以管理员身份运行它,但现在它崩溃了。我正在像这样运行多处理:

p1 = multiprocessing.Process(target=exMine)
p2 = multiprocessing.Process(target=exMine)
p3 = multiprocessing.Process(target=exMine)
p4 = multiprocessing.Process(target=exMine)

if __name__ == '__main__':
   p1.start()
   p2.start()
   p3.start()
   p4.start()
Run Code Online (Sandbox Code Playgroud)

我看到了一些关于此错误的其他帖子,但它与 Python 版本(特别是 3.7)有关。我在 Python 3.8.3 和 Python 3.9.1 中运行时遇到相同的错误

完整的错误是:

Traceback (most recent call last):
  File "miner.py", line 389, in <module>
    lgdIn()
  File "miner.py", line 182, in lgdIn
    mine()
  File "miner.py", line 174, in mine
    p1.start()
  File "C:\Users\deanm\anaconda3\lib\multiprocessing\process.py", line 121, in start
    self._popen = self._Popen(self)
  File "C:\Users\deanm\anaconda3\lib\multiprocessing\context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "C:\Users\deanm\anaconda3\lib\multiprocessing\context.py", line 326, in _Popen
    return Popen(process_obj)
  File "C:\Users\deanm\anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 93, in __init__
    reduction.dump(process_obj, to_child)
  File "C:\Users\deanm\anaconda3\lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'lgdIn.<locals>.mine.<locals>.exMine'

C:\Users\deanm\Programming\Full-on Big Projects\TimerCoin\Program>Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\deanm\anaconda3\lib\multiprocessing\spawn.py", line 107, in spawn_main
    new_handle = reduction.duplicate(pipe_handle,
  File "C:\Users\deanm\anaconda3\lib\multiprocessing\reduction.py", line 79, in duplicate
    return _winapi.DuplicateHandle(
PermissionError: [WinError 5] Access is denied
Run Code Online (Sandbox Code Playgroud)