Discuss / Python / 在Win 10下运行例程的调试过程

在Win 10下运行例程的调试过程

Topic source

将教程中的示例程序保存为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,出来正常结果。

snljty

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

感谢!

Heymee

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

厉害了

浅言87780

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

顶,总结的都是我遇到的报错

顶!每个用windows的都会遇到这些坑,然后回来顶这条评论

https://blog.csdn.net/u011318077/article/details/88094583这里有一篇详细无错的博客,大家可以参考他的,改进代码


  • 1

Reply