问题:ImportError: cannot import name ‘Celery’ from 'celery
问题背景
python3.7版本中使用Celery报错:ImportError: cannot import name ‘Celery’ from 'celery
Python 3.7 会报错
问题原因
https://github.com/celery/celery/blob/master/celery/init.py 底部的一个不寻常的结构引入的,这可能是混淆importlib-metadata 5的原因
触发此操作的最低必要安装是从Python 3.7.10制作一个虚拟环境,激活它,然后运行。这将自动安装 importlib-metadata 5.0.0。pip install celery
然后只需启动并运行.它会随着上面的回溯而崩溃。降级到,它不会崩溃。python``from celery import Celery``importlib-metadata==4.13.0
这也会影响 3.7.13,因此可能会影响 3.7 的所有其他单点版本。我们使用 3.7.10,因为这是 AmazonLinux docker 镜像提供的内容。
解决方案
开发人员已经处理了这个issue,合并了master,快速解决方案通过github安装celery
pip install --upgrade https://github.com/celery/celery/tarball/master -i https://pypi.douban.com/simple