它引发 PicklingError 是什么意思?

What is mean when it raises a PicklingError?

你好! 我是 python 3 的新手。 我正在使用 pvmomi 模块从我的服务器获取虚拟机的字典。当我尝试使用多处理 运行 我的文件时,出现以下错误:

_pickle.PicklingError:无法腌制:pyVmomi.VmomiSupport 上的属性查找 vim.VirtualMachine 失败

这是什么意思?

这是我的部分代码:

def login(vm):
    #do something

if __name__=='__main__':
    cpu = mp.cpu_count()
    workers = mp.Pool(cpu)
    workers.map(login,range(1))
    for vm in vmDict:
        login(vm)

我最大的问题来自 for 循环。我需要这个循环来完成每个 dictitem 的工作,但只有一个池工作人员完成这项工作。现在我已经在下面配置了我的代码,它引发了 PicklingError。 感谢帮助。这让我发疯!

stdlib pickle (.py) 模块导入内置 C 编码的 _pickle 模块。 pickle 模块可以序列化大多数 Python 对象,用于在进程之间传输 Python 对象。特别是,pickle 被 multiprocessing 使用(可能被 pyvmomi 使用)。用户定义 类 有时定义特殊方法(reducereducex,我相信)来帮助 pickle 和 unpickle 过程。

异常消息表示属性查找失败。也许 pyVmomi 对象没有正确配置为 pickle。您可以查看模块文档,看看它是否说明了有关泡菜支持的任何内容。