Bạn có thể sử dụng python -V
(et al.) Để hiển thị cho bạn phiên bản Python mà python
lệnh giải quyết. Nếu đó là tất cả những gì bạn cần, bạn đã hoàn thành. Nhưng để xem mọi phiên bản của python trong hệ thống của bạn cần thêm một chút.
Trong Ubuntu chúng ta có thể kiểm tra độ phân giải với readlink -f $(which python)
. Trong trường hợp mặc định trong 14.04, điều này sẽ chỉ đến /usr/bin/python2.7
.
Chúng ta có thể xâu chuỗi này để hiển thị phiên bản của phiên bản Python đó:
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/usr/bin/python2.7: Python 2.7.6
Nhưng điều này vẫn chỉ cho chúng tôi biết python
giải pháp hiện tại của chúng tôi là gì. Nếu chúng tôi ở trong Virtualenv (một hệ thống quản lý ngăn xếp Python phổ biến) python
có thể phân giải thành một phiên bản khác:
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/home/oli/venv/bin/python: Python 2.7.4
Đây là đầu ra thực sự.
Thực tế là có thể có hàng trăm phiên bản Python khác nhau được tiết ra xung quanh hệ thống của bạn, trên các đường dẫn được thêm vào theo ngữ cảnh hoặc sống dưới các tên nhị phân khác nhau (như python3
).
Nếu chúng tôi giả định rằng tệp nhị phân Python sẽ luôn được gọi python<something>
và là tệp nhị phân, chúng tôi có thể tìm kiếm toàn bộ hệ thống để tìm các tệp phù hợp với các tiêu chí đó:
$ 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
Đây rõ ràng là một lệnh khá gớm ghiếc nhưng đây lại là đầu ra thực sự và dường như nó đã thực hiện một công việc khá kỹ lưỡng.
ls /usr/bin | grep python