【python asyncio 运行报错】:raise RuntimeError(‘There is no current event loop in thread %r‘)
代码:
# 执行第一个协程程序
asyncio.run(S.crawl_url())select_date = S.select_date()
select_keyword = S.select_keyword(select_date) # 列表# 第二个协程
loop = asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait([S.parse_html(url) for url in select_keyword]))
loop.close()
报错:
raise RuntimeError('There is no current event loop in thread %r.
’ RuntimeError: There is no current event loop in thread ‘MainThread’.
翻译:
引发RuntimeError(‘线程%r中没有当前事件循环。’)
在主线程中没有当前事件循环。
出现错误原因:
asyncio仅为主线程生成一个事件循环,
猜测:我在代码中,执行这个协程之前还有一个协程调用,下面的 loop = asyncio.get_event_loop()
并没有获取到事件循环,所以导致报错:在主线程没有事件循环。简单说,就是在同一线程中,第二个协程受到第一个的干扰。
因为,当我将上面的第一个协程代码注释掉后,下面的代码就不会报错。
解决办法:
在第二个协程获取事件循环前添加下面两行代码:
new_loop = asyncio.new_event_loop()
asyncio.set_event_loop(new_loop)
修改后代码:
# 执行第一个协程程序
asyncio.run(S.crawl_url())select_date = S.select_date()
select_keyword = S.select_keyword(select_date) # 列表# 第二个协程
new_loop = asyncio.new_event_loop()
asyncio.set_event_loop(new_loop)
loop = asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait([S.parse_html(url) for url in select_keyword]))
loop.close()
【python asyncio 运行报错】:raise RuntimeError(‘There is no current event loop in thread %r‘)相关推荐
- Python 使用numpy报错:runtimeError: package fails to pass a sanity check解决方法
Python中使用numpy和pandas时报错:RuntimeError: The current Numpy installation ('...\venv\lib\site-packages\n ...
- 第一:Python+Allure运行报错AttributeError: module ‘allure‘ has no attribute ‘severity_level‘
1.很多查询结果都是先卸载pytest-allure-adaptor,然后再安装allure-pytest pip3 uninstall pytest-allure-adaptor 2.pip3 in ...
- Python项目运行报错 django.core.exceptions.ImproperlyConfigured: WSGI application ‘WebTool.wsgi.application
问题描述:使用Pycharm运行python项目报错:django.core.exceptions.ImproperlyConfigured: WSGI application 'WebTool.ws ...
- RTX 3090运行报错:RuntimeError: CUDA error: no kernel image is available for execution on the device
RuntimeError: CUDA error: no kernel image is available for execution on the device 安装适用于GeForce RTX ...
- DeprecationWarning: There is no current event loop loop = asyncio.get_event_loop()
python协程报错:DeprecationWarning: There is no current event loop loop = asyncio.get_event_loop() 原因是因为 ...
- python 运行画图时,报错:“RuntimeError: Invalid DISPLAY variable“
python 运行画图时,报错:"RuntimeError: Invalid DISPLAY variable" 错误描述 错误原因 matplotlib的默认backend是Tk ...
- python文本编辑器报错_notepad++编辑器中运行python程序时需要注意的编码格式
本篇文章给大家带来的内容是关于notepad++编辑器中运行python程序时需要注意的编码格式,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 语言:python3.4 文本编辑器: ...
- Python报错: RuntimeError: The current Numpy installation (‘D:\\Develop\\anaconda\\lib\\site-packages\\
Python报错: RuntimeError: The current Numpy installation ('D:\Develop\anaconda\lib\site-packages\numpy ...
- python的Web框架Django运行报错:Invalid HTTP_HOST header: 'xxx.xx.xxx.xxx:8000'. You may need to add 'xxx.xx'
python的Web框架Django运行报错:Invalid HTTP_HOST header: 'xxx.xx.xxx.xxx:8000'. You may need to add 'xxx.xx' ...
最新文章
- Java 基本数据类型
- linux删除mysql安装_Linux安装删除MySQL
- php7 imagick安装,php扩展imagick安装for windows7
- 一文读懂如何用LSA、PSLA、LDA和lda2vec进行主题建模
- Winform模拟post请求和get请求登录网站
- Java基础——synchronized
- NLP数据增强方法总结:EDA、BT、MixMatch、UDA
- c#如何嵌套第三方程序_C#程序演示嵌套条件运算符的示例
- c++怎么将两个类的方法集合成一个类的方法_一文帮你梳理 Java 集合
- 认证授权介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记109
- 缺少链接库报错:ld: symbol(s) not found for architecture x86_64
- 互联网是由许多计算机组成的网络,互联网运行原理:计算机网络是由许多计算机组成的...
- 大文件如何传输到服务器,大文件如何快速传输到云服务器
- ffmpeg 为取经而来_取经路上的妖魔鬼怪,傻傻分不清楚
- Zabbix6.2这些新特性太棒了,手把书教你在Linux部署Zabbix6.2,速度收藏!
- ff15测试软件翻译,最终幻想15数据详细分析 FF15详细的数值参数测试
- (10.2.3.3)静电的设计教室:APP设计利器Sketch教程(03)-让插件助你一臂之力(原创
- 认识LTE(六): LTE中的信道特征以及信道估计技术
- 《硝烟中的scrum和xp》读书笔记
- MYSQL 备份到底怎么办,XTRABACKUP 还是 MEB(2)--mysqlbackup MEB
热门文章
- NLP研究者必备的语言学书籍!
- 文本分类实战技巧(tricks)汇总
- 拼写校正与动态规划的小故事
- 论文浅尝 | 面向开放域的无监督实体对齐
- 论文浅尝 | 六篇2020年知识图谱预训练论文综述
- 论文浅尝 | 问题生成(QG)与答案生成(QA)的结合
- 大规模领域词汇库项目DomainWordsDict:涵盖68个领域、共计916万的词汇库资源开放
- 【ACL2020】Relabel the Noise: Joint Extraction of Entities and Relations via Cooperative Multiagents
- python:更改pip源
- tomcat的安装及配置