2014-01-05 26 views
6

私たちのプロジェクトでは、 - それを待って - celery.pyと呼ばれるファイルを見つけました。はい、インストールセロリモジュールからとcelery.py輸入(http://www.celeryproject.org/を参照)、プロジェクトのcelery.pyがインストールセロリモジュールからインポートする前に、Pythonでのモジュール名の競合、解決方法?

from __future__ import absolute_import  

を使用しているため、問題はないとします。さて、この問題はdjcelery(djelo-celery)(セロリからインポートしたいものです)から来ています(インストールされたもので、celery.pyプロジェクトではありません)。これは、インストールされたセロリに遭遇する前にdjceleryがプロジェクトのcelery.pyに遭遇するため、衝突が起こる場所です。 どうすれば解決できますか?

答えて

3

これを行う最も簡単で最も簡単な方法は、プロジェクトをリファクタリングしてファイルの名前を変更することです。

これには多少の奇妙な方法がありますが、コードを複雑にする可能性があるため、エラーになりやすいとは思えません。

1

@Chirila Alexandru saidとして、モジュールの名前を変更してください。

また可能性:

  • あなたcelery.pyをインポートするには、
  • 使用明示的な相対インポート(あなたの代わりにcelery.py、あなたが使用することができfrom project.your_app import celeryをインポートする)celeryをインポートファイルの先頭にfrom __future__ import absolute_importを追加します。 from . import celery
関連する問題