Search code examples
pythonpython-3.xpython-module

Importing module from parent folder subfolder to run in scripts subfolder [siblings]


My project structure looks like this:

project/
|--- helper_modules/
    |--- util.py
|--- scripts/
    |--- A.py

If I put the script A.py in the project/ folder, it runs and imports successfully using from helper_modules.util import fn. But I have a number of scripts and to keep things organised I'd like to have them all in their own subfolder. How can I do this and still import from helper_modules?

I'm in the directory /project/ when I call the scripts.


Solution

  • I found this which gave me a workaround. Apparently this can't be done by default in Python.

    In each script in the scripts folder, I started with this code:

    # add to the Python path to import helper functions
    import sys
    import os
    sys.path.append(os.path.abspath('.'))