If you are using Git Submodules, is very probable that at some point you will create you own libraries. Probably those libraries will have their own structure, even with their own tests/ folder and you’re adding into a subfolder into your new project and maybe you have problems using relative imports.
This is a trick you can use to add the relevant root folder of your project to the System Path, so the libraries are found, specially when you call by command line from anywhere in the filesystem. This works for Python2 and Python3.
#!/usr/bin/env python3 import sys import os s_path_program = os.path.dirname(__file__) sys.path.append(s_path_program + '../../') from clib.src.argsutils import ArgsUtils from clib.src.datetimeutils import DateTimeUtils from clib.src.fileutils import FileUtils
This sample can be found in my book Pythom Combat Guide.