python – Importing files from different folder

python – Importing files from different folder

Note: This answer was intended for a very specific question. For most programmers coming here from a search engine, this is not the answer you are looking for. Typically you would structure your files into packages (see other answers) instead of modifying the search path.


By default, you cant. When importing a file, Python only searches the directory that the entry-point script is running from and sys.path which includes locations such as the package installation directory (its actually a little more complex than this, but this covers most cases).

However, you can add to the Python path at runtime:

# some_file.py
import sys
# insert at 1, 0 is the script path (or  in REPL)
sys.path.insert(1, /path/to/application/app/folder)

import file

Nothing wrong with:

from application.app.folder.file import func_name

Just make sure folder also contains an __init__.py, this allows it to be included as a package. Not sure why the other answers talk about PYTHONPATH.

python – Importing files from different folder

When modules are in parallel locations, as in the question:

application/app2/some_folder/some_file.py
application/app2/another_folder/another_file.py

This shorthand makes one module visible to the other:

import sys
sys.path.append(../)

Leave a Reply

Your email address will not be published. Required fields are marked *