คุณสามารถใช้python -V
(et al.) เพื่อแสดงเวอร์ชันของ Python ที่python
คำสั่งแก้ไขได้ หากนั่นคือทั้งหมดที่คุณต้องการคุณทำเสร็จแล้ว แต่การที่จะเห็นว่าทุกไพ ธ อนในระบบของคุณใช้เวลามากขึ้น
ใน Ubuntu readlink -f $(which python)
เราสามารถตรวจสอบความละเอียดด้วย ในกรณีที่ค่าเริ่มต้นใน 14.04 /usr/bin/python2.7
นี้ก็จะชี้ไปที่
เราสามารถโยงสิ่งนี้เข้าด้วยกันเพื่อแสดงเวอร์ชันของ Python เวอร์ชันนั้น:
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/usr/bin/python2.7: Python 2.7.6
แต่นี่ก็แค่บอกเราว่าการpython
แก้ปัญหาปัจจุบันของเราคืออะไร หากเราอยู่ใน Virtualenv (ระบบการจัดการแบบ Python ทั่วไป) python
อาจแก้ไขเป็นเวอร์ชั่นอื่น:
$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/home/oli/venv/bin/python: Python 2.7.4
นี่คือผลลัพธ์ที่แท้จริง
ความจริงก็คืออาจมี Python เวอร์ชันที่แตกต่างกันหลายร้อยเวอร์ชันหลั่งออกไปรอบ ๆ ระบบของคุณทั้งบนเส้นทางที่เพิ่มบริบทหรือใช้ชีวิตภายใต้ชื่อไบนารีที่ต่างกัน (เช่นpython3
)
หากเราสมมติว่าไบนารี Python จะถูกเรียกpython<something>
และเป็นไฟล์ไบนารีเราสามารถค้นหาไฟล์ทั้งหมดที่ตรงกับเกณฑ์เหล่านั้นได้:
$ 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
เห็นได้ชัดว่ามันเป็นคำสั่งที่น่าเกลียด แต่นี่เป็นผลลัพธ์ที่แท้จริงอีกครั้งและดูเหมือนว่าจะทำงานได้อย่างทั่วถึง
ls /usr/bin | grep python