Python 2.7.5 のドキュメントを確認しました。実際のプロジェクトで問題が発生していますが、問題を簡潔に再現するためにここに小さなテスト プロジェクトを作成しました。~/Development/Test に次のレイアウトが保存されているパッケージを想像してください。
構造は次のとおりです。
Test/
__init__.py
foo.py
sub/
__init__.py
test_foo.py
そしてコード(__init__.py
ファイルは空です):
foo.py
def bar():
print("hello world")
test_foo.py
import Test.foo
# also tried from Test import foo
def main():
foo.bar()
if __name__ == "__main__":
main()
端末から実行しようとするとtest_foo.py
(つまりpython test_foo.py
)、次のようになります:
Traceback (most recent call last):
File "test_foo.py", line 1, in <module>
import Test.foo
ImportError: No module named Test.foo
サブモジュールのテストファイルからパッケージ(foo.py)のメインファイルをインポートしようとしています(私の実際のプロジェクトでは、サブモジュールは単体テストコードです)。奇妙なことに、 Sublime text 2エディターとプラグインpython test runnerを使用すると、個々のテストを問題なく実行できますが、テスト ファイルをビルドできません。上記のエラーが表示されます。