问题描述:
Python执行命令python manage.py celery -A HttpRunnerManager worker --loglevel=info启动worker,tornado报错:
AttributeError: module 'tornado.web' has no attribute 'asynchronous'
File "C:\Python3.7.8\lib\site-packages\flower\api\tasks.py", line 83, in TaskApply
@web.asynchronous
AttributeError: module 'tornado.web' has no attribute 'asynchronous'
原因分析:
查看python环境中安装的tornado版本,本机环境安装的是tornado6.0.4

查看官方文档了解到 tornado.web.asynchronous在tornado5.1版本中已弃用,并在tornado6.0中已删除,用coroutines代替。
Deprecated since version 5.1: This decorator is deprecated and will be removed in Tornado 6.0. Use coroutines instead.
官方说明文档https://www.tornadoweb.org/en/branch5.1/web.html#tornado.web.asynchronous
解决方法:
tornado6.0.4版本降级回到5.1.1就ok了
卸载命令:pip uninstall tornado
安装命令pip install tornado==5.1.1
参考:

本文解决了一个在使用Python的Celery和Flower时遇到的兼容性问题,当Tornado版本升级到6.0.4时,由于废弃了asynchronous属性导致错误。通过将Tornado版本回退到5.1.1,成功解决了该问题。
2万+

被折叠的 条评论
为什么被折叠?



