关于scrapy在pycharm中run可以运行,但是debug不行的问题

关于scrapy在pycharm中run模式可以运行,但是debug模式不行的问题

点击run就可以运行,但是debug就是运行不了

一点击debug就报这个错,也不知道啥原因
报错:

[asyncio] ERROR: Exception in callback <Task pending name='Task-1' coro=<ExecutionEngine.open_spider() running at E:\code\top_baidu_crawl\venv\Lib\site-packages\scrapy\core\engine.py:406> cb=[Deferred.fromFuture.<locals>.adapt() at E:\code\top_baidu_crawl\venv\Lib\site-packages\twisted\internet\defer.py:1251]>()
handle: <Handle <Task pending name='Task-1' coro=<ExecutionEngine.open_spider() running at E:\code\top_baidu_crawl\venv\Lib\site-packages\scrapy\core\engine.py:406> cb=[Deferred.fromFuture.<locals>.adapt() at E:\code\top_baidu_crawl\venv\Lib\site-packages\twisted\internet\defer.py:1251]>()>
Traceback (most recent call last):
  File "D:\python3.12.1\Lib\asyncio\events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
TypeError: 'Task' object is not callable

解决方案
双击shift——搜索registry——找到 python.debug.asyncio.repl——取消勾选——保存

这个勾选去掉,就可以正常debug了,
在这里插入图片描述

查了下原因

在 PyCharm 中,python.debug.asyncio.repl 是一个 注册表选项(Registry Key),用于控制调试器在处理 异步代码(asyncio) 时的行为,特别是与 调试控制台(Debug Console) 的交互相关。其核心作用如下:

功能说明
启用异步 REPL 支持:

当设置为 True 时,PyCharm 的调试控制台会支持异步交互模式。

你可以在调试过程中直接在控制台中输入await表达式(如 await some_async_function()),并立即执行异步代码。

若未启用(默认值),调试控制台可能无法直接执行 await 命令,导致异步代码调试受阻。

解决异步调试问题:

在调试异步代码时(如使用 asyncio、async/await),部分 PyCharm 版本可能存在控制台交互的兼容性问题。

启用此选项可强制调试器适配异步环境,避免出现 RuntimeError: This event loop is already running 等错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值