Я мои настройки сценариев следующим образом -Python вопрос зависимость
a.py (Добавленный сценарий)
from b import B
import c
class A(B):
def process(self):
super().method()
c.method1()
c.method2()
b.py (существующий сценарий в Prod)
import c
class B(Exception):
def method(self):
c.method1()
c.method2()
c.py (существующий сценарий в Prod)
def method1()...
def method2()...
Dir's hold b.py & c.py все находятся в PATH на хосте PROD.
Когда я вызываю a.py из планировщика, я получаю ошибку 'module' object has no attribute method()
. Также метод1() & method2() в b.py не выполняется.
a.py находится в том же каталоге, что и b.py, поэтому я предполагаю, что ничего не нужно обновлять в PATH.
Я искал здесь в SO и обнаружил, что это может быть проблема с круговой зависимостью, однако некоторые из предложенных решений в моем случае не работали.
Любые предложения о том, как я могу исправить эту проблему? Также, как лучше всего решить эти проблемы, если я должен создать больше скриптов в том же каталоге, что и существующие.
Я не вижу никаких круговых зависимостей в вашем коде. Что означает 'super(). Method()'? –
Метод super(). Method() должен вызывать метод в b.py, который он делает. Я импортирую c, указанный в файле a.py & b.py, что заставляет меня полагать, что существует проблема с циклической зависимостью. – Murali
Если это так, то это не может быть полный код, являются ли эти вызовы фактически внутри класса в вашем фактическом коде? –