Discuss / Python / 有大佬帮忙看下这个问题吗,都是照着代码敲的

有大佬帮忙看下这个问题吗,都是照着代码敲的

Topic source

onefifth丶

#1 Created at ... [Delete] [Delete and Lock User]

PS D:\pythonTest> & D:/python/python.exe d:/pythonTest/ProcessThread/task_master.py

Traceback (most recent call last):

  File "d:/pythonTest/ProcessThread/task_master.py", line 21, in <module>

    manager.start()

  File "D:\python\lib\multiprocessing\managers.py", line 579, in start

    self._process.start()

  File "D:\python\lib\multiprocessing\process.py", line 121, in start

    self._popen = self._Popen(self)

  File "D:\python\lib\multiprocessing\context.py", line 326, in _Popen

    return Popen(process_obj)

  File "D:\python\lib\multiprocessing\popen_spawn_win32.py", line 93, in __init__

    reduction.dump(process_obj, to_child)

  File "D:\python\lib\multiprocessing\reduction.py", line 60, in dump

    ForkingPickler(file, protocol).dump(obj)

_pickle.PicklingError: Can't pickle <function <lambda> at 0x017EC580>: attribute lookup <lambda> on __main__ failed

PS D:\pythonTest> Traceback (most recent call last):

  File "<string>", line 1, in <module>

  File "D:\python\lib\multiprocessing\spawn.py", line 102, in spawn_main

    source_process = _winapi.OpenProcess(

OSError: [WinError 87] 参数错误。

Answer_wx

#2 Created at ... [Delete] [Delete and Lock User]

在win10环境下,pickle模块不能序列化lambda函数,所以需要自定义要使用的函数,而不用lambda函数


  • 1

Reply