I think mixing app and system dependencies is not the best idea, and Linux desktop is still fighting its impact.
When all the apps on a consumer laptop is expected to depend on the same dependencies, the system likely run into dependency hell, which means many apps needs to be downgraded in order to keep older apps working.
This mixture of system dependency and app dependency also prevents users to use the the latest version of an app on a hyper stable base system.
Flatpak basically aim to solve this problem, where each app chooses their own dependencies, so you don’t need to downgrade all your app just because one app depends on python 2.7.