Python中的模块名称冲突,如何解决?

pbh*_*ick 6 python django celery django-celery

我在我们的项目中遇到了一个名为 - wait for it - celery.py的文件.是的,celery.py从已安装的芹菜模块(参见http://www.celeryproject.org/)导入,这不是问题,因为项目的celery.py使用

from __future__ import absolute_import     
Run Code Online (Sandbox Code Playgroud)

从安装的芹菜模块导入之前.现在,问题来自djcelery(django-celery),它也想从芹菜(已安装的,而不是项目celery.py)导入.这就是冲突发生的地方,因为djcelery在遇到已安装的芹菜之前遇到了项目的celery.py.我该如何解决这个问题?

Ale*_*ila 4

最简单、最明智的方法是重构项目并更改文件名。

可能有一些奇怪的方法可以解决这个问题,但我几乎不认为这是值得的,因为它很可能会使您的代码复杂化,并使其容易出错。