2014-01-05 97 views
6

我在我們的項目中遇到了一個叫做 - 等待它的文件 - celery.py。是的,從安裝的芹菜模塊celery.py進口(見http://www.celeryproject.org/),因爲該項目的celery.py使用Python中的模塊名稱衝突,如何解決?

from __future__ import absolute_import  

從已安裝的芹菜模塊導入之前這是不是一個問題。現在,問題來自djcelery(django-celery),它也想從芹菜(已安裝的,而不是celery.py項目)中導入。這是衝突的來源,因爲djcelery在遇到已安裝的芹菜之前遇到了項目的celery.py。 我該如何解決這個問題?

回答

3

最簡單也最理智的方法是重構項目並更改文件的名稱。

有可能是一種奇怪的方法,但我很難認爲這是值得的,因爲它很可能會使您的代碼複雜化,並使其容易出錯。

1

由於@Chirila Alexandru said,只需重命名該模塊。

你還可以:

  • 在這個進口celery文件的頂部添加from __future__ import absolute_import(導入您celery.py相反,你可以使用from project.your_app import celery
  • 使用顯式相對導入,導入您的celery.pyfrom . import celery