私のアプリケーションにフィルタを動的に読み込んでいます。私は私のMain.pyで動的に読み込まれたモジュール内でモジュールを静的にインポートする方法
:今、私は、既存のフィルタを拡張することができるようにしたい
varianceFilterを:
spec = importlib.util.spec_from_file_location(filter, file)
inst = importlib.util.module_from_spec(spec)
spec.loader.exec_module(inst)
私は負荷とは、正常に動作することをvarianceFilter.pyと呼ばれるファイルを持っています。 PY:
def run(images):
#do something
return result
は、今私はそうのように、このフィルタを再利用して拡張したい:
testFilter.py:しかし、すぐに私はvarianceFilter.py例外
No module named 'varianceFilter'
がスローされたインポートしようとして
import varianceFilter as vf
def run(images):
ret = vf.run(images)
#do something with ret
return ret
。両方のファイルが同じディレクトリにあります。 私は何が間違っていますか?
EDIT:
私のディレクトリ構造は次のとおりです。
main.py
filters/varianceFilter.py
filters/testFilter.py
メインディレクトリにvarianceFilterのコピーを作成した後、testFilter.pyが正常に動作します。
例外はありますか?完全なスタックトレースを含む完全なエラーメッセージは、ほとんどの場合、デバッグに非常に役立ちます。 –
感謝juanpa、私はあなたの質問を更新しました – cbueltem