Несоответствие между sys.executable и sys.version в Python
Установлены два интерпретатора Python:
[user@localhost ~]$ /usr/bin/python -V && /usr/local/bin/python -V
Python 2.4.3
Python 2.7.6
Изменения в судоPATH
для каждой команды она работает следующим образом:
[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
Я запускаю тестовый скрипт:
[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)]
и получить путь к Python 2.4.3 вsys.executable
и версия 2.7.6 сообщается вsys.version
, очевидноsys.executable
а такжеsys.version
не совпадают. Принимая во внимание, как sudo изменяет PATH, я могу понять значениеsys.executable
, Однако почемуsys.version
версия отчета 2.7.6, а не версия 2.4.3, которая будет соответствоватьusr/bin/python
путь сообщенsys.executable
?
Это продолжение моего вопросаSudo изменяет PATH, но выполняет тот же бинарный файл