Make it easy to import the modules in parent directories
If you want to solve ValueError: attempted relative import beyond top-level package
, DotDot may be helpful for you.
If it can be installed and imported successfully, it should work correctly.
Install via pip:
pip install dotdot
root dir
├── apple.py *****************
│ * import dot *
│ * import dir.boy *
│ * import dir.subdir.cat *
│ * script code ... *
│ **************************
│
└── dir
├── boy.py *******************
│ * import dotdot *
│ * import apple *
│ * import dir.subdir.cat *
│ * script code ... *
│ **************************
│
└── subdir
└── cat.py *******************
* import dotdotdot *
* import apple *
* import dir.boy *
* script code ... *
**************************
DotDot does this magic by changing sys.path[0]
in import time.