をい私のアプリの構造である:絶対インポートが機能しない、しかし、相対インポートはここ
from foodo.models import User
ImportError
をスロー:
ImportError: No module named models
models.py
モジュールから
foodo/
setup.py
foodo/
__init__.py
foodo.py
models.py
foodo/foodo/foodo.py
輸入クラスを
しかし、相対インポートを使用するとうまくいきます:
from models import User
また、インポートする前にpdbブレークポイントを挿入して続行すると機能します。
絶対インポートと相対インポートの両方を正しく使用できるはずですか?
どのように 'foodo/foodo/foodo.py'を実行していますか?ディレクトリを 'foodo/foodo /'に変更し、 'python foodo.py'を実行すると、あなたが記述した動作が得られます。代わりに、 'foodo /'にcdして 'python -m foodo.foodo'を実行すれば、すべてが意図どおりに動作するはずです。 (パッケージと内部のモジュール名が同じであるので、さらに '__future__ import absolute_imports'が必要かもしれません。) – Blckknght
こんにちは、ありがとうございます。だから私の選択肢は、この輸入または相対輸入を使用することです? – LaSmell
はい、内部のフードモジュールの名前を変更することで問題が解決され、絶対インポートを使用することもできます。 Thanks – LaSmell