I have two files, node.py
and path.py
, which define two classes, Node
and Path
, respectively.
Up to today, the definition for Path
referenced the Node
object, and therefore I had done
from node.py import *
in the path.py
file.
However, as of today I created a new method for Node
that references the Path
object.
I had problems when trying to import path.py
: I tried it, and when the program ran and called the Path
method that uses Node
, an exception rose about Node
not being defined.
What do I do?
In python, a module can be made by importing other modules. In some cases, a Circular dependency is created. Circular dependency is the case when some modules depend on each other. It can create problems in the script such as tight coupling, and potential failure.
In software engineering, a circular dependency is a relation between two or more modules which either directly or indirectly depend on each other to function properly. Such modules are also known as mutually recursive.
Importing Python Modules is a great article that explains circular imports in Python.
The easiest way to fix this is to move the path import to the end of the node module.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With