The deadsnakes PPA make the latest stable versions of python available on LTS distributions. I now find it preferable to installing from source, whether from download or using pyenv.
The following was tested on a Ubuntu 18.04.5 LTS desktop with python 2.7.15 and 3.6.9 as the shipping system python versions. The pip3 binary was install using the stock python3-pip package, updated with pip3 install --upgrade pip
.
One of the key reasons this works for me is that I've been aggressive about individually virtualizing project environments with venv.
First, add the deadsnakes PPA to apt: