私はこれに類似した構造を持つプロジェクト開発にPyCharm CEを使用しています:私は、このようなtest_config.pyとしての私のテストスクリプトを実行しようとするとPythonの:「はImportError:<my module>という名前のモジュール」
test_python/
|-- app
| |-- __init__.py
| |-- mymodule.py
| |-- mymodule.pyc
| `-- test_mymodule.py
|-- config.py
`-- tests
|-- __init__.py
|-- test_config.py
`-- test_models.py
を、私が手:
$ python tests/test_config.py
Traceback (most recent call last):
File "tests/test_config.py", line 1, in <module>
from config import app_config
ImportError: No module named config
私は(私はすでに行っている)のパッケージにあるすべてのディレクトリ内のinit の.pyファイルを必要との話を他のSOの記事をたくさん読みました。多くの人はsys.path
を使いこなすことをお勧めします。この後者のアプローチの私の問題は、私が前に道に干渉する必要がなかったことです。私はそれが私の開発環境の設定で変更されたものかどうかは分かりませんが、ここにあります:
Python 2.7 | | macOSシエラ| PyCharm CE
私はvirtualenvで仮想環境をインストールしようとしましたが、違いは見られませんでした。ここでは、githubのサンプルプロジェクトをご自身で実行したい場合は
'$ python test_models.py'は' ImportError:No module app.mymodule 'につながりますが、' $ python app/test_mymodule.py'は両方のテストスクリプトがほとんど同じ内容を持っていても失敗しません。 import statement – kip2