Python パッケージ内の親ディレクトリにある (パス上にない) ファイルを子ディレクトリのファイルにインポートするにはどうすればよいですか?
私はPythonパッケージングの語彙について完全に明確ではないので、例として:
dir1/
__init__.py
runner.py
in_dir1.py
dir2/
__init__.py
in_dir2.py
dir1/in_dir1.py:
def example():
print "Hello from dir1/in_dir1.example()"
dir1/dir2/in_dir2.py
import in_dir1 #or whatever this should be to make this work
print "Inside in_dir2.py, calling in_dir1.example()"
print in_dir1.example()
それがpythonパス上にないことを考えると、にインポートするdir1
最良の方法を探しています。in_dir1
in_dir2
from .. import in_dir1
この Q/Aにfrom ..dir1 import in_dir1
基づいて試してみましたが、どちらも機能しません。その意図を実行する正しい方法は何ですか? この Q/Aには答えが含まれているようです。ただし、どうすればいいのか、PEP 366を使用して実際に問題を解決する方法がよくわかりません
両方の__init__.py
ファイルは空で、私はv2.6を使用しています。
私は、Google が見つけ続けているパス ハックを使用せずに、これを実行しようとしています。