次のディレクトリ構造があります。
src/
main/
somecode/
A.py
B.py
__init__.py
__init__.py
test/
somecode/
testA.py
testB.py
__init__.py
__init__.py
__init__.py
以下をテスト モジュールに正常に追加できました。
import sys
sys.path.insert(0, "absolute path to src")
これにより、srcフォルダーからnosetestsを実行できました。しかし、問題は、他の人が私のコードを使用するときです。絶対パスが異なるため、これは機能しません。
それで、私は試しました:
import sys, os
sys.path.append(os.path.abspath('../../../main/somecode')
from main.somecode import A
これは src/test/somecode からうまく機能しましたが、src フォルダーからは相対パスが機能しないため、nosetests を実行できません。
from ...main.somecode import A も試みましたが、すべて python パッケージであるにもかかわらず、それは気に入りません。
それで、私は何をしますか? これは潜在的な答えのようですが、コードを追加する場所については説明していません。