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 sysimport ossys.path.append(os.path.abspath('../bar_dir'))import bar
If you're having issues in python 3+, the following worked for me using sys.path.append("..")
.
sys.path.append("..")from bar_dir import bar