Não é uma boa idéia atualizar o sistema python, a menos que você esteja realmente trabalhando no código do Ubuntu e tenha um motivo específico para isso. Existem muitas dependências do sistema que você pode quebrar atualizando com o pip em vez de usar as bibliotecas python no repositório do APT.
Se você estiver desenvolvendo aplicativos python e precisar alterar versões de bibliotecas, deverá usar as opções --user para pip ou criar um virtualenv para armazenar as versões dos usuários das libs.
Ambos os métodos voltarão a usar bibliotecas do sistema se não tiverem suas próprias cópias, o virtualenv tem mais opções sobre como controlar esse feedback.
pip com --user
Isto é tão fácil quanto apenas adicionar --user ao final de todos os seus comandos pip, isto irá colocar suas bibliotecas python em ~ / .local / lib / pythonX.X (onde XX é o número da sua versão em python), eles será procurado aqui primeiro apenas tenha cuidado ao fazer isso para root se você tiver que rodar via sudo pois isso pode afetar o sistema python.
virtualenv
Isso funciona de maneira semelhante ao acima, mas é menos vinculado a um usuário específico, portanto, não tem a limitação sudo, você também pode clonar um virtualenv e atualizá-lo para testar as alterações, permitindo que você reverta se for uma droga. link