O problema é que quando você instala coisas com sudo apt-get install (ou sudo pip install ), elas são instaladas em lugares em /usr , mas o python compilado da fonte foi instalado em /usr/local . O python que você acaba executando quando você digita python no prompt é o que você compilou (baseado na saída do comando python -c 'import sys; print(sys.path)' ), e ele não pode encontrar os pacotes python instalados no diretório /usr . No entanto, o Ubuntu vem com o python (python 2 e python 3) já instalado no local correto, onde encontrará os pacotes instalados. Portanto, uma recomendação geral é tentar não misturar métodos de instalação como este. O Ubuntu tem muitos pacotes de software disponíveis através dos repositórios oficiais, o que elimina a necessidade de fazer muita compilação, e geralmente é recomendado instalar o software via apt quando possível.
Dito isto, para pacotes python (como Pygame e Beautiful Soup), as coisas podem ficar um pouco mais complicado . Misturar pip e apt-get pode causar problemas no futuro, portanto, uma abordagem para manter as coisas simples é ficar apenas com o gerenciador de pacotes do sistema. Se você acabar precisando usar o pip porque o gerenciador de pacotes não tem coisas que você precisa (ou versões atualizadas), é melhor trabalhar dentro de ambientes virtuais e use pip para todos os pacotes python necessários nesse ambiente virtual.
Para dizer ao seu sistema para localizar o python do sistema padrão corretamente (python 2, que é o padrão quando você chama apenas python ), tente reescrever o link simbólico que direciona o comando python para o destino original:
sudo ln -s /usr/bin/python2.7 /usr/bin/python
Espero que isso permita encontrar os pacotes python que você instalou.