将教程中的示例程序保存为task_master.py和task_worker.py,在win 10命令行环境下执行:python task_master.py
报错:OSError: [WinError 87] 参数错误。
原因如下:
在win10环境下,pickle模块不能序列化lambda函数,所以需要自定义要使用的函数,而不用lambda函数
将原程序中的lambda修改为函数。再运行:python task_master.py
报错:
RuntimeError:
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
根据提示在程序中添加main函数
if __name__ == '__main__':
再运行:python task_master.py
报错:OSError: [WinError 10049]在其上下文中,该请求的地址无效。
原因:OSError: [WinError 10049]是由于 ip地址为空造成的
设置端口验证的一行 manager = QueueManager(address=('',5000), authkey=b'abc') 中的地址添加127.0.0.1
可以运行,但是很快就跳出结果,并没有计算。
在另一个命令行运行环境下运行python task_worker.py
(同样修改lambda函数,并添加main函数)
报错:ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
经比对教程中的示例程序和教程后附加的例程,发现只有程序开头两行区别。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
将这两行添加到程序中,
然后分别在两个命令行运行环境中运行python task_master.py和python task_worker.py,出来正常结果。
感谢!
厉害了
顶
顶,总结的都是我遇到的报错
顶!每个用windows的都会遇到这些坑,然后回来顶这条评论
https://blog.csdn.net/u011318077/article/details/88094583这里有一篇详细无错的博客,大家可以参考他的,改进代码
Sign in to make a reply
用户7296618635
将教程中的示例程序保存为task_master.py和task_worker.py,在win 10命令行环境下执行:python task_master.py
报错:OSError: [WinError 87] 参数错误。
原因如下:
在win10环境下,pickle模块不能序列化lambda函数,所以需要自定义要使用的函数,而不用lambda函数
将原程序中的lambda修改为函数。再运行:python task_master.py
报错:
RuntimeError:
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
根据提示在程序中添加main函数
if __name__ == '__main__':
再运行:python task_master.py
报错:OSError: [WinError 10049]在其上下文中,该请求的地址无效。
原因:OSError: [WinError 10049]是由于 ip地址为空造成的
设置端口验证的一行 manager = QueueManager(address=('',5000), authkey=b'abc') 中的地址添加127.0.0.1
再运行:python task_master.py
可以运行,但是很快就跳出结果,并没有计算。
在另一个命令行运行环境下运行python task_worker.py
(同样修改lambda函数,并添加main函数)
报错:ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
经比对教程中的示例程序和教程后附加的例程,发现只有程序开头两行区别。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
将这两行添加到程序中,
然后分别在两个命令行运行环境中运行python task_master.py和python task_worker.py,出来正常结果。