我在项目中遇到了一个文件,叫做 - 等待它 - celery.py。是的,celery.py从已安装的芹菜模块导入(参见http://www.celeryproject.org/)这不是问题,因为项目的celery.py使用
from __future__ import absolute_import
从安装的芹菜模块导入之前。现在,问题来自djcelery(django-celery),它也想从芹菜(已安装的,而不是项目celery.py)导入。这就是冲突发生的地方,因为djcelery在遇到已安装的芹菜之前遇到了项目的celery.py。 我该如何解决这个问题?
答案 0 :(得分:3)
最简单,最理智的方法是重构项目并更改文件名。
可能有一些奇怪的方法,但我很难认为值得,因为它很可能使你的代码复杂化,并使它容易出错。
答案 1 :(得分:1)
作为@Chirila Alexandru said,只需重命名模块。
你也可以:
celery
的文件顶部添加from __future__ import absolute_import
(改为导入celery.py
,您可以使用from project.your_app import celery
)celery.py
:from . import celery