Python 多处理错误 'ForkAwareLocal' 对象没有属性 'connection'

one*_*des 6 python multiprocessing python-3.x python-multiprocessing

下面是我的代码,为此我面临着多处理问题。我看到以前有人问过这个问题,我已经尝试过这些解决方案,但似乎不起作用。有人可以帮我吗?

from multiprocessing import Pool, Manager


Class X:
    def _init_():


    def method1(number1,var_a, var_b, var_c, var_d):

    return values 

if __name__ == 'main':


    for value in ["X", "Y"]:
        dict_values = Manager().dict()
        with Pool(1) as p:
            p.starmap(method1,
                      [
                          (1, dict_values, var_a, var_b, var_c, var_d),
                          (2, dict_values, var_a, var_b, var_c, var_d),
                          (3, var_a, var_b, var_c, var_d)
                      ])
Run Code Online (Sandbox Code Playgroud)

我面临的错误

multiprocessing.pool.RemoteTraceback: 

Traceback (most recent call last):
  File "/usr/lib64/python3.6/multiprocessing/managers.py", line 749, in _callmethod
    conn = self._tls.connection
AttributeError: 'ForkAwareLocal' object has no attribute 'connection'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.6/multiprocessing/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "/usr/lib64/python3.6/multiprocessing/pool.py", line 47, in starmapstar
    return list(itertools.starmap(args[0], args[1]))
  File "<string>", line 2, in __setitem__
  File "/usr/lib64/python3.6/multiprocessing/managers.py", line 753, in _callmethod
    self._connect()
  File "/usr/lib64/python3.6/multiprocessing/managers.py", line 740, in _connect
    conn = self._Client(self._token.address, authkey=self._authkey)
  File "/usr/lib64/python3.6/multiprocessing/connection.py", line 487, in Client
    c = SocketClient(address)
  File "/usr/lib64/python3.6/multiprocessing/connection.py", line 614, in SocketClient
    s.connect(address)
FileNotFoundError: [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)

小智 2

也许您在使用 Pycharm 时在运行/调试配置中选中了“使用 Python 控制台运行”选项。尝试取消选中该选项。