0

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.

3 Answers 3

1

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('.'))
Sign up to request clarification or add additional context in comments.

Comments

1

You just need add this in your script A.py :

from ..helper_modules.util import fn

and run A.py exiting one level from the project folder, so if you are in project folder do:

cd ..

Then run A.py using

python -m project.scripts.A

Comments

0

If your current directory is /project/, you should launch the script using:

python -m scripts.A

And from within scripts/A.py, you can do

from helper_modules.util import fn

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.