2 つの py ファイル:
./src/foo.py
def bar ():
print 'bar!'
./tests/testfoo.py
from foo import bar
print 'testing'
bar ()
ルートフォルダー「./」で、呼び出し
python ./tests/testfoo.py
結果は
Traceback (most recent call last):
File "./tests/testfoo.py", line 1, in <module>
from foo import bar
ImportError: No module named foo
testfoo.py を実行していますが、当然、インタープリターはモジュール foo を見つけることができませんでした。「src」フォルダー内のモジュールをルックアップするために、インタープリターに任意のパラメーターを与えることはできますか?
編集#1
また、空のinit .py ファイルを 2 つ追加しました。
./src/__init__.py
./tests/__init__.py
それでも同じエラーが発生します。
編集#2(解決策)
新しい初期化pyファイルを追加して問題を解決しました
prep.py
import os, sys
cur = os.path.dirname (__file__)
pathtest = os.path.join (cur, 'tests')
sys.path.append (pathtest)
次に呼び出されます:
python prep.py tests/testfoo.py
出来た