Pycharm进入debug模式后一直显示collecting data解决方法

1. 问题描述

在用PyCharm进行Python代码调试查看具体变量时,显示collecting data,到最后报错Timeout waiting for response,在界面中看不到变量内部的内容。

(我的Pycharm版本是2020.2)

2. 解决办法

File/Settings/,打开Setting界面,在设置项中勾选下图中的Gevent compatible。

3.Gevent compatible

如果选中此复选框,调试器将与 Gevent-monkeypatched 代码兼容。

关于Gevent-monkeypatched:

Gevent 是一个协作式多任务库。它的工作方式是您,程序员,将您的代码组织成称为 greenlets 的工作单元。当给定的 greenlet 正在运行时,它会单独运行。当它到达一个会阻塞的点时,也就是说,它必须等待一些外部信号,如文件、超时、我们的网络数据,greenlet 应该通过向 gevent 发送信号来进行合作,gevent 会安排其他一些 greenlet 运行。一旦等待的数据准备好,将恢复以前的执行。

现在,Python 的标准库stdlib(曾经?)是不合作模式。标准行为是自私地阻止,而不是向 gevent 发出可以暂停某个 greenlet 的信号。这会导致一个问题,因为只有第一个 greenlet 正在运行,其他人永远没有机会被安排。

Gevent-monkeypatched 的目的是用协作替代方案替换 stdlib 中的阻塞调用,以便现有代码可以利用 greenlet 的并发性而无需重写。


参考链接:

Python Debugger 几个设置选项的解释_子燕若水的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_43570470/article/details/124985575
今日推荐