次のようなファイル構造があります。
project/
__init__.py
common/
__init__.py
util.py
utilhelper.py
stuff/
__init__.py
coolstuff/
__init__.py
awesome.py
共通/初期化.py
import util, utilhelper
共通/util.py
import utilhelper
help = utilhelper.help()
スタッフ/クールスタッフ/awesome.py
from common import util
print util.help
私がする時:
python プロジェクト/もの/coolstuff/awesome.py
「from common import util」は「common という名前のモジュールがありません」で失敗します。
これを解決する方法がわからないため、パスやパッケージングなどの非常に重要な精神的概念が欠けていることに気付きました。しかし、可能であれば、「from common import util」のようなコードを深いサブディレクトリに保持したいと考えています。
私は考えました:
@task
@needs(['common'])
def dostuff():
sh('python stuff/coolstuff/awesome.py')
残念ながら、私は自分が何をしているのかわからず、これに関する良い例/チュートリアルを見つけることができません.
- Imp を使用して、スクリプトの 100% で相対および/または絶対ファイル パスを明示的にインポートする
-すべてのpythonファイルの先頭に小さなハックパス挿入を書く
アドバイスをいただければ幸いです。