How do I import a Python script from a sibling directory?
If all occurring directories are Python packages, i.e. they all contain __init__.py
, then you can use
from ..bar_dir import bar
If the directories aren't Python packages, you can do this by messing around with sys.path
, but you shouldn't.
You can use the sys
and os
modules for generalized imports. In foo.py
start with the lines
import sys
import os
sys.path.append(os.path.abspath('../bar_dir'))
import bar
Let's say if you have following structure:
root
|_ productconst.py
|_ products
|_ __init__.py
And if you would like to import productconst in products.__init__
, then following can be used :
from ..productconst import *