2011-08-18 5 views
6

私はこれは私が私の/djangoprojectフォルダ内/appnameを持っている場合は大丈夫に動作しますが、ときに私、私は次のインポートを持ってジャンゴはImportError

from ..models import Something 

をディレクトリ構造a.pyインサイド

/appname 
    __init__.py 
    models.py 
    /submodule1 
     __init__.py 
     a.py 

と自分のDjangoアプリケーションを作成しました(私が作成したsetup.py経由で)Pythonのサイトパッケージにアプリケーションをインストールすると、すべての地獄が壊れて、a.pyはもはやSomethingをインポートできなくなり、次のe rror:

ImportError: cannot import name Something 

ここではsetup.pyです:Pythonはモジュールとしてそれを解析することができますので、__init__.py内部/ submodule1:

from distutils.core import setup 

setup(name='appname', 
     version='0.1', 
     packages=['appname', 'appname.contrib'], 
) 

答えて

5

これは円形のインポートエラーであることが判明しました。 models.pya.pya.pymodels.pyをインポートしています。このサークルを破る

は、インポートの問題を解決したが、今では

+0

私はこれを自分で実行しました。私はimport文を 'a.py'を必要とする関数の中に入れましたが、それは不快なものです。あなたの解決策は何でしたか? – Harry

2

は、名前の空のファイルを入れてください。それは助けになるはずです。/appnameに同じ - __init__.pyファイル

+0

:-) Pythonで遅延評価を行う方法を見つけ出すための時間ですはい、私は '__init __いた。'/submodule1'と '/両方でpy'を'それはまだ私に' ImportError'を与えています。 –

関連する問題