Jan-07-2021, 05:22 PM
Hi there,
i've packaged my program and uploaded it to pypi. When installed via pip everything works flawlessly. However, when cloning the repository, installing all dependencies and running the main application (here: runner.py) i get a ModuleNotFoundError.
I hope that all makes sense.
Any help would be much appreciated!
Note: The complete source code can be found at github.
i've packaged my program and uploaded it to pypi. When installed via pip everything works flawlessly. However, when cloning the repository, installing all dependencies and running the main application (here: runner.py) i get a ModuleNotFoundError.
Error:Traceback (most recent call last):
File "dpp/runner.py", line 34, in <module>
from dpp.core.argparse.ordered_multi_args import OrderedMultiArgs
ModuleNotFoundError: No module named 'dpp'
I use following folder structure:Output:decoder-plus-plus
├── dpp
│ ├── core
│ ├── images
│ ├── __init__.py
│ ├── __main__.py
│ ├── plugins
│ ├── runner.py
│ └── ui
├── LICENSE
├── MANIFEST.in
├── README.md
├── requirements.txt
└── setup.py
setup.py... setup( ... entry_points={ "console_scripts": [ "dpp=dpp.runner:main", ] }, )I fixed the error by adding following code at the beginning of runner.py:
# FIX #27: Add 'dpp' to python package path if not present. # This may happen when dpp was not installed via setup.py. DPP_PACKAGE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) if DPP_PACKAGE_PATH not in sys.path: sys.path.append(DPP_PACKAGE_PATH)However, i don't think that my approach is common practice and that there is a more elegant solution to this.
I hope that all makes sense.
Any help would be much appreciated!
Note: The complete source code can be found at github.