Komutun çözümlediği python -V
Python sürümünü göstermek için (ve ark.) Kullanabilirsiniz python
. Tek ihtiyacın olan buysa, bitirdin. Ancak sisteminizde her python sürümünü görmek biraz daha fazla zaman alır.
Ubuntu'da çözünürlüğü ile kontrol edebiliriz readlink -f $(which python)
. Varsayılan durumda 14.04 bu sadece işaret eder /usr/bin/python2.7
.
Bunu Python sürümünün sürümünü göstermek için zincirleyebiliriz:
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/usr/bin/python2.7: Python 2.7.6
Fakat bu hala bize şu anki python
kararımızın ne olduğunu söylüyor . Bir Virtualenv'deysek (ortak bir Python yığın yönetim sistemi) python
farklı bir sürüme çözülebilir:
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/home/oli/venv/bin/python: Python 2.7.4
Bu gerçek çıktı.
Gerçek şu ki, sisteminize eklenmiş yüzlerce farklı Python sürümü olabilir, bunlar içeriğe eklenmiş yollarda veya farklı ikili isimler altında (ya da benzeri python3
) yaşarlar .
Bir Python ikili dosyasının her zaman çağrılacağını python<something>
ve ikili bir dosya olacağını varsayarsak , tüm sistemi bu kriterlere uyan dosyalar için arayabiliriz:
$ sudo find / -type f -executable -iname 'python*' -exec file -i '{}' \; | awk -F: '/x-executable; charset=binary/ {print $1}' | xargs readlink -f | sort -u | xargs -I % sh -c 'echo -n "%: "; % -V'
/home/oli/venv/bin/python: Python 2.7.4
/media/ned/websites/venvold/bin/python: Python 2.7.4
/srv/chroot/precise_i386/usr/bin/python2.7: Python 2.7.3
/srv/chroot/trusty_i386/usr/bin/python2.7: Python 2.7.6
/srv/chroot/trusty_i386/usr/bin/python3.4: Python 3.4.0
/srv/chroot/trusty_i386/usr/bin/python3.4m: Python 3.4.0
/usr/bin/python2.7: Python 2.7.6
/usr/bin/python2.7-dbg: Python 2.7.6
/usr/bin/python3.4: Python 3.4.0
/usr/bin/python3.4dm: Python 3.4.0
/usr/bin/python3.4m: Python 3.4.0
/web/venvold/bin/python: Python 2.7.4
Açıkçası oldukça çirkin bir emir ama bu yine gerçek çıktı ve oldukça kapsamlı bir iş yapmış gibi görünüyor.
ls /usr/bin | grep python