本站资源收集于互联网,不提供软件存储服务,每天免费更新优质的软件以及学习资源!

Windows下Python分布式进程传递对象为何引发PermissionError?

网络教程 app 1℃

Windows下Python分布式进程传递对象为何引发PermissionError

windows 系统下的 python 分布式进程难题

在 python 中使用分布式进程时,可能会遇到一些令人困惑的问题。例如,在 windows 系统中创建进程时,传递对象作为参数可能会导致 permissionerror。

问题描述

以下代码示例演示了此问题:

url_manager = process(target=url_manager_proc, args=(url,))result_solve = process(target=result_solve_proc, args=())store = process(target=store_proc, args=())url_manager.start()result_solve.start()store.start()

然而,由于某些原因,需要将一个对象作为参数传递给 url_manager_proc 函数。但这会导致以下错误:

PermissionError: [WinError 5] 拒绝访问

解决方案

令人惊讶的是,此问题的解决方案不是修改代码或使用不同的模块,而是更换操作系统。

改用 linux

经过测试,在 ubuntu 18.04 linux 系统中运行相同的代码不会产生 permissionerror。这意味着 windows 系统存在某种限制,会阻止进程之间传递对象。

因此,如果您遇到此问题,可以考虑改用 linux 操作系统以解决分布式进程的问题。

以上就是Windows 下 Python 分布式进程传递对象为何引发 PermissionError?的详细内容,更多请关注范的资源库其它相关文章!

转载请注明:范的资源库 » Windows下Python分布式进程传递对象为何引发PermissionError?

喜欢 (0)