How to import python class file from same directory?

python, python-3.x, python-import

Solution

Since you are using Python 3, which disallows these relative imports (it can lead to confusion between modules of the same name in different packages).

Use either:

from models import finding

or

import models.finding

or, probably best:

from . import finding  # The . means "from the same directory as this module"

Problem

I have a directory in my Python 3.3 project called /models. from my `main.py` I simply do a ``` from models import * ``` in my `__init__.py`: ``` __all__ = ["Engine","EngineModule","Finding","Mapping","Rule","RuleSet"] from models.engine import Engine,EngineModule from models.finding import Finding from models.mapping import Mapping from models.rule import Rule from models.ruleset import RuleSet ``` This works great from my application. I have a model that depends on another model, such that in my `engine.py` I need to import `finding.py` in `engine.py`. When I do: `from finding import Finding` I get the error `No Such Module exists`. How can I import class B from file A in the same module/directory?

Original source