importing a module in nested packages

What you want is a relative import like:

from ..a.b import module

The problem with this is that it doesn’t work if you are calling test_file.py as your main module. As stated here:

Note that both explicit and implicit relative imports are based on the name of the current module. Since the name of the main module is always “main“, modules intended for use as the main module of a Python application should always use absolute imports.

So, if you want to call test_file.py as your main module, then you should consider changing the structure of your modules and using an absolute import, else just use the relative import from above.

Leave a Comment