Is there a clear, simple strategy to do relative imports in Python that doesn't require creating Packages, as I would like to use them between sub-folders of my project while I develop the project? I'm referring to relative imports, like: from ..mypackage import mymodule from ..mypackage.mymodule import mymethod from .. import mypackage Only the most simple cases of relative imports actually work. Anything else results in the error message: ImportError: attempted relative import with no known parent package Creating a package makes little sense in this context, as I am simply in need of importing relatively between sub-folders in my main project. I use sys.path.append() as a workaround, but that should not be necessary, and it is not portable. There is a SO post, Relative imports for the billionth time, which addresses this problem. The main article plus 15 answers and 36 comments indicate that this issue has been around for a long time. Many very smart people have offered exotic explanations and proposed cumbersome solutions to such a simple issue. It seems the issue revolves around where Python thinks the importing module is in the file system at the time it attempts to execute the import statements. My opinion is that Python should be able to figure out if it is and exactly where in the file hierachy that is. I'm looking for a simple way to make import statements work as expected whether the importing module is called from another module, or if it is run from an interpreter, or an IDE like Pycharm. Continue reading...