私はこのように設定されたプロジェクトを持っています:
panel/
configure.py
run.py
panel/
__init__.py
mailer.py
helpers/
__init__.py
gearman.py
mailer.py
インポートが含まれますfrom helpers.gearman import ExceptionalGearmanWorker
。コマンドラインから呼び出されたときにプログラムを実行するためmailer.py
のチェックも含まれています。if __name__ == '__main__'
panel/
実行したい最上位ディレクトリからpython panel/mailer.py
。これを実行しようとすると、mailer.py
からインポートできませんgearman.py
。特定のエラーは
Traceback (most recent call last):
File "panel/mailer.py", line 14, in <module>
from panel.cgearman import ExceptionalGearmanWorker
ImportError: No module named panel.cgearman
スクリプトを直接実行しているように見えますが、内部からインポートパスにpanel/
追加されませんか?panel/
これは正しいです?どういうわけかこれを機能させることができますか?