Thijser
Thijser

Reputation: 2633

python submodule can't find import

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)

Upvotes: 2

Views: 92

Answers (1)

GProst
GProst

Reputation: 10237

Change your import to be relative:

from .model import modelController

Upvotes: 3

Related Questions