What we do at my company is have an init.py file in each directory that contains Python utility scripts. The scripts do import init to read this file. This file modifies the python path to include the paths to our utility library and some third party libraries. Since everything is in the same source tree, the init.py file uses the location of itself to turn relative paths into absolute paths. Here's one of our such files:
import sys, os
inletPath = os.path.dirname(__file__) + "/../../.."
sys.path.append(inletPath + "/common/python")
sys.path.append(inletPath + "/inletfetch/common/common-pyutil")
sys.path.append(inletPath + "/inletfetch/common/common-pyutil/thirdparty")
inletPath is the root of our source tree. The specific paths are computed relative to the source root
We don't try to share these files across directories. We just put one in any directory containing any python scripts that we execute directly.
The great thing about this is that all you have to do when you create a new script is add "import init" at the start of it, before importing anything else, and all the other stuff will get found.
export PYTHONPATH=/the/dir/of/flask/app:${PYTHONPATH}python /something/else/app.pydirectly, but the reason is the same:)