I have the following directory structure:
base_folder
methods_folder
method_1.py
method_2.py
.
.
.
method_n.py
class_methods.py
top_class.py
class_methods.py
imports the other files in the same directory, like this:
from method_1 import method_1
from method_2 import method_2
.
.
.
from method_n import method_n
(obs: these methods
files has a method with its own file names inside them)
If I run class_methods.py
by myself, no problem. But if I try to run top_class.py
, which imports class_methods.py
, I get the error no module named method_1
So, when executing top_class.py
, it is not seeing the files in methods_folder/
. Why?
the correct import inside
top_class.py
would befrom methods_folder.method_n import method_n
. This is because you are treatingmethods_folder
as a package. If you are running a version of Python that is before 3.3 you must also unclude__init__.py
file inside themethods_folder
in order to turn it into a package.