Anda bisa menggunakan python -V
(et al.) Untuk menunjukkan kepada Anda versi Python yang diputuskan oleh python
perintah. Jika itu yang Anda butuhkan, Anda sudah selesai. Tetapi untuk melihat setiap versi python di sistem Anda dibutuhkan lebih banyak.
Di Ubuntu kita dapat memeriksa resolusi dengan readlink -f $(which python)
. Dalam kasus default dalam 14,04 ini hanya akan menunjuk ke /usr/bin/python2.7
.
Kami dapat menghubungkan ini untuk menunjukkan versi Python versi itu:
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/usr/bin/python2.7: Python 2.7.6
Tapi ini masih hanya memberi tahu kami apa python
resolusi kami saat ini. Jika kami berada di Virtualenv (sistem manajemen tumpukan Python umum) python
mungkin menyelesaikan ke versi yang berbeda:
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/home/oli/venv/bin/python: Python 2.7.4
Ini adalah hasil nyata.
Faktanya adalah mungkin ada ratusan versi berbeda dari Python yang disekresikan di sekitar sistem Anda, baik di jalur yang ditambahkan secara kontekstual, atau hidup di bawah nama biner yang berbeda (seperti python3
).
Jika kita berasumsi bahwa sebuah biner Python akan selalu dipanggil python<something>
dan menjadi file biner, kita bisa mencari seluruh sistem untuk file yang sesuai dengan kriteria tersebut:
$ 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
Ini jelas perintah yang cukup mengerikan tetapi ini lagi-lagi output nyata dan tampaknya telah melakukan pekerjaan yang cukup menyeluruh.
ls /usr/bin | grep python