Python Imports: Reference and Examples
Last updated:- Import from path/directory
- Import from relative path
- Add directory to import path
- Add relative path to import path
- Sys.path.insert example
WIP Alert This is a work in progress. Current information is correct but more content may be added in the future.
Examples use Python 3+ unless otherwise stated!
Import from path/directory
To import from a relative path instead see below: Import from relative path
To import modules, variables and functions from custom python files placed in a directory you need to: 1) add that directory to the import path and then 2) import from files.
Example import from
myfile.py
, located under/absolute/path/to/directory"
:import sys # add directory to import path sys.path.insert(0, "/absolute/path/to/directory") # import from python modules/files below directory from myfile import somefunc
Import from relative path
Similar to the above but get path with os.path.abspath(<relative-path>)
and then use sys.path.insert(0, <path>)
so that you can import from a relative directory:
Example
Directory structure:
myproject/ ├── helpers │ └── mymodule.py ├── utils │ └── myothermodule.py └── stuff └── file1.py
import stuff in
file1.py
# stuff/file1.py import os import sys # find out the absolute path to the directory # you want to add to your path path_to_myproject = os.path.abspath(__file__+"/../") sys.path.insert(0, path_to_myproject) # now you can import stuff like this from helpers import mymodule from utils import myothermodule
Add directory to import path
See Import from directory above to see how to use it
Use sys.path.insert(0,"/absolute/path/to/directory")
import sys
sys.path.insert(0, "/absolute/path/to/directory")
Add relative path to import path
See Import from relative path above to see how to use it
Similar to the above but get path with os.path.abspath(<relative-path>)
and then use sys.path.insert(0, <path>)
:
Use sys.path.insert(0,"/absolute/path/to/directory")
import os
import sys
# turn relative to absolute path
absolute_path = os.path.abspath(__file__+"/../")
# and add it to import path
sys.path.insert(0, absolute_path)
Sys.path.insert example
See above: Add directory to import path