Я использую проект elses кого-то, чтобы добавить некоторые функции для моего, и есть скрипт python, который я хочу импортировать. Проблема связана с структурой импорта их каталогов: я поместил их каталог проекта в подпапку под моим основным проектом (должен остаться там, чтобы я мог сохранить свой проект из моего контроля версий): он выглядит так:Прикованный импорт из подкаталога в python
myproject/
myscript.py
theirproject/
__init__.py
baz.py
secondlayer/
__init__.py
all.py
foo.py
bar.py
all.py просто список операторов импорта, которые импортируют дополнительные скрипты из каталога secondlayer так:
from secondlayer.foo import *
from secondlayer.bar import * #etc
Я хотел бы импортировать:
from theirproject.secondlayer.all import *
но терпит неудачу, когда питон не жалуется «не модуль с именем secondlayer.foo» Я также попробовал следующее:
from theirproject.secondlayer import all
я могу заставить его работать, когда я помещаю мой сценарий в theirproject/и импортировать все без " ихпроект ", но я действительно не могу быть таким. Я могу получить еще в процессе импорта путем импорта Foo, Bar и т.д. по отдельности, как это:
from theirproject.secondlayer import foo
from theirproject.secondlayer import bar #etc
Но эти сценарии не импортировать больше вещей из еще других сценариев (например, baz.py) на том же уровне, второй слой, поэтому я застрял.
Каков правильный способ сделать это в python 2.7.6?