私は持っている
myapp/
__init__.py
lib.py
tests/
lib_test.py
lib_test.py には次のものがあります。
import lib
myapp から実行する場合:
python tests/lib_test.py
エラーが発生する
ImportError: No module named lib
間違いなく初歩的なミスです。しかし、何が問題なのかわかりません。
私は持っている
myapp/
__init__.py
lib.py
tests/
lib_test.py
lib_test.py には次のものがあります。
import lib
myapp から実行する場合:
python tests/lib_test.py
エラーが発生する
ImportError: No module named lib
間違いなく初歩的なミスです。しかし、何が問題なのかわかりません。
上記のように実行しようとするとimport lib、Python は現在のディレクトリから始めてインポートを見つけようとします (したがって、たとえば、ディレクトリにいる場合は、インポートを見つけてmyapp実行lib.pyできますimport lib)。ただし、パッケージ (基本的には を含むもの__init__.py) 内でインポートする場合は、明示的なパッケージ インポート ( などfrom myapp import lib) を使用して、Python インタープリターがどこを見ればよいかを認識できるようにする必要があります。これには、名前空間の競合を回避するという利点もありますlib(つまり、別のフォルダーにいたlib.py場合)。
結論: に置き換えるimport libとfrom myapp import lib、うまくいきます。
You should add __init__.py file in tests/ directory.