2017-03-21 9 views
-1

プログラムを実行しようとしていますが、そのファイルは次のように構成されています。サブフォルダtensorflow_fcnarchitecture.pyは同じ親ディレクトリを共有します。ImportErrorのエラー:No module

File "FCN/KittiSeg_pretrained/model_files/architecture.py", line 5, in <module> 
    from tensorflow_fcn import fcn8_vgg 
ImportError: No module named 'tensorflow_fcn' 
を以下のよう architecture.pyにおいて、 tensorflow_fcnのフォルダが既にしかし _init_.py

enter image description here

含むfrom tensorflow_fcn import fcn8_vgg

enter image description here

コードの行があり、プログラムを実行すると、エラーメッセージを取得します

私はなぜtensorflow_fcnarchitecture.pyで特定されていません。

+1

を解決することがありますどのようにあなたが 'architecture.py'を実行していますか?同じフォルダからですか? – tamasgal

+0

Python 2またはPython 3?両方にタグを付けないでください。 – user2357112

+0

こんにちはtamasgal、architecture.pyはpythonによって呼び出された他のプログラムから呼び出されます。私はただpython architecture.pyを直接実行しようとしています、それは動作します。なぜこれらの2つの異なるシナリオがありますか? – user288609

答えて

0

.../model_filesはおそらくPYTHON_PATHにありません。 Python 3では、これに対して相対インポートを使用できます。

from .tensorflow_fcn import fcn8_vgg 

.に注意してください。

これは2.7でも動作しますが、まだ2.7を使用している場合は必ずアップグレードする必要があります。

+0

相対インポートが機能するならば、 'model_files'は絶対にインポートパス上に置くべきではありません。重複したモジュールの混乱を招くことはありません。 – user2357112

0

多分、これはファイルとモジュールの相対パスに関連しているかもしれません。 私の仕事では、サブフォルダー "tensorflow_fcn"は "submodules"の下にあり、サブフォルダー "submodules"はファイルと同じレベルにあります。だから私はこのフォームを使用します。 from submodules.tensorflow_fcn import fcn8_vgg

このページでは、あなたのパズル http://85608547.blog.51cto.com/2093443/1576759

関連する問題