O seguinte deve funcionar para g ++, desde que você não tenha instalações g ++ locais.
dpkg -l 'g++*'
No meu sistema, isso dá:
dpkg -l 'g++*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-================================-=====================-=====================-======================================================================
ii g++ 4:4.9.2-2 amd64 GNU C++ compiler
ii g++-4.6 4.6.3-14 amd64 GNU C++ compiler
un g++-4.6-multilib <none> <none> (no description available)
ii g++-4.9 4.9.2-10 amd64 GNU C++ compiler
ii g++-4.9-multilib 4.9.2-10 amd64 GNU C++ compiler (multilib files)
ii g++-multilib 4:4.9.2-2 amd64 GNU C++ compiler (multilib files)
Para o Python, uma abordagem similar vai pegar muitos falsos positivos, porque no Debian e seus derivados, todas as bibliotecas do Python começam com python-
. Então, seria necessário um padrão glob mais refinado.
Algo como
dpkg -l 'python?.?'
deve funcionar.
dpkg -l 'python?.?'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-================================-=====================-=====================-======================================================================
ii python2.6 2.6.8-1.1 amd64 Interactive high-level object-oriented language (version 2.6)
ii python2.7 2.7.9-2 amd64 Interactive high-level object-oriented language (version 2.7)
un python3.1 <none> <none> (no description available)
ii python3.4 3.4.2-1 amd64 Interactive high-level object-oriented language (version 3.4)