How can I import a file that is in a parent directory within a python package (that is not on the path) into a file in a child dir?
I'm not totally clear on the vocabulary of python packaging so by way of example:
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()
Given that dir1
is not on the python path I'm looking for the best way to import in_dir1
into in_dir2
.
I tried from .. import in_dir1
and from ..dir1 import in_dir1
based on this Q/A but neither works. What is the correct way of executing that intent? This Q/A seems to contain the answer; however, I'm not quite sure what to make of it / how to actually solve my problem using PEP 366
Both __init__.py
files are empty and I am on v2.6.
I'm attempting to do this without using any of the path hacks that Google keeps turning up.