私のモジュールを見つけることができません、それは以下の構造を有する:Pythonは私が(私はvirtualenvの内で実行)Pythonのプロジェクトを持っている
Project
├───.git
├───venv
└───src
├───__init__.py
├───mymodules
│ ├───__init__.py
│ ├───module1.py
│ └───module2.py
└───scripts
├───__init__.py
└───script.py
script.pyを
import src.mymodules.module1
...
私はvenvを有効にしてプロジェクトを実行し、次のコマンドを使ってProjectディレクトリから実行します:
(venv)$ python src/scripts/script.py
スクリプトが実行されますが終了する前に、次のエラーを与える:
Traceback (most recent call last):
File "src/scripts/script.py", line 1, in <module>
import src.mymodules.module1
ImportError: No module named src.mymodules.module1
私はPythonシェルを実行しているし、そこからモジュールをインポートしようと試みたが、それは何のエラーを与えませんでした。 src内のすべてのディレクトリに_ _init__.pyがあります。 Pythonは作業ディレクトリをsrc/scriptsとみなしていますか?なぜそれが起こっているのですか?その場合、srcを作業ディレクトリにする方法はありますか?
Python 2または3? 3では、パッケージモジュールのインポートを扱う方法が異なります。 – Mego
@Mego Python 2.7 – CrazyJony
これは役立つかもしれないhttp://stackoverflow.com/questions/33773202/how-to-import-a-class-from-a-different-folder-in-python/33773635#33773635 –