python submodule can't find import

Viewed 53

So I have a module called gann which itself has a number of modules, the problem is that if I run gannController.py directly it fails.

I have the following file structure(some files omitted):

----convert
    __init__.py
    convert.py
    ----AI
        __init__.py
        ----gann
            gannController.py
            ----model
                __init__.py 
                modelController.py 
    ----util  

now I want to use the gannController.py in the convert.py file.

from AI.gann import gannController

in convert.py does import gannController, however it crashes on the first line which is

from model import modelController

which does work if I run gannController.py directly. As it gives the error:

ModuleNotFoundError: No module named model

So I guess that it's because a submodule uses a submodule of it's own that I cannot run this. Anybody know how to fix this? It's worth noting that I would prefer not to pollute my convert namespace with all of the stuff in model and that I have omitted a few other modules that have the same situation (inside util)

1 Answers

Change your import to be relative:

from .model import modelController
Related