I have read endless discussions on relative import in python, I think that one of the reasons it is so confusing is that it changes fro one Python version to another (my ver
Mark subfolder
as Source Root with right-click in the project tree -> Mark directory as ... -> Sources Root. PyCharm adds all Source Roots to PYTHONPATH
by default so the issue should be resolved
The problem is PyCharm doesn't know you are going to execute BB.py
directly, e.g. let's say you have main.py
in the root with from subfolder import BB
. Calling python main.py
will raise ModuleNotFoundError: No module named 'AA'
(make sure to use Python 3 to avoid implicit relative imports from Python 2).
Hope it makes sense and I didn't miss anything.
You can get both python and pycharm to agree by using
from subfolder.AA import myfunc
However, according to here, from .AA import myfunc
appears to be the correct syntax. But idk why it's not working.