There are some breaking features from added in 3.7 which were not in the language in 3.7. Meaning code written for the newer Python 3 version might not work with the older Python 3 version. Most of those additions are relatively easy to fix though.
Code from an older Python 3 version should always work in the newer Python 3 version though (at least for 3.5 -> 3.7).
I agree. Try pyenv. It lets you install a particular version for use in a shell account, then `python -m venv venv`. I like pip-tools for requirements management, but some reasonable people disagree.
Code from an older Python 3 version should always work in the newer Python 3 version though (at least for 3.5 -> 3.7).