Nichtübereinstimmung zwischen sys.executable und sys.version in Python

Es sind zwei Python-Interpreter installiert:

[user@localhost ~]$ /usr/bin/python -V && /usr/local/bin/python -V
Python 2.4.3
Python 2.7.6

Sudo ändert sichPATH Für jeden Befehl wird wie folgt ausgeführt:

[user@localhost ~]$ env | grep PATH && sudo env | grep PATH
PATH=/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/user/bin
PATH=/usr/bin:/bin

Ich führe ein Testskript aus:

[user@localhost ~]$ cat what_python.py
#!/usr/bin/env python

import sys
print sys.executable
print sys.version
[user@localhost ~]$ sudo python what_python.py
/usr/bin/python
2.7.6 (default, Feb 27 2014, 17:05:07) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)]

und holen Sie sich den Pfad zu Python 2.4.3 insys.executable und Version 2.7.6 berichtet insys.version. Deutlichsys.executable undsys.version nicht übereinstimmen. Unter Berücksichtigung, wie sudo PATH ändert, kann ich den Wert von verstehensys.executable. Aber warum?sys.version Bericht Version 2.7.6 und nicht Version 2.4.3, die übereinstimmen würdeusr/bin/python Pfad gemeldet vonsys.executable?

Dies ist eine Fortsetzung meiner FrageSudo ändert PATH, führt aber dieselbe Binärdatei aus

Antworten auf die Frage(3)

Ihre Antwort auf die Frage