Относительный импорт Python в пакете не по пути
Как я могу импортировать файл, который находится в родительском каталоге в пакете 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()
Учитывая этоdir1
не на пути Python Я ищу лучший способ импортироватьin_dir1
вin_dir2
.
Я пыталсяfrom .. import in_dir1
а такжеfrom ..dir1 import in_dir1
на основании этого Q / A но ни один не работает. Как правильно выполнить это намерение?Это Q / A кажется, содержит ответ; Тем не менее, я не совсем уверен, что с этим делать / как на самом деле решить мою проблему, используяОПТОСОЗ 366
Обе__init__.py
файлы пусты, и я нахожусь наv2.6.
Я пытаюсь сделать это, не используя хаки путей, которые Google продолжает обнаруживать.