Получение версии исполняемого файла python из скрипта - PullRequest
0 голосов
/ 13 марта 2019

На моем сервере установлены разные версии Python (из исходных текстов). Теперь я хотел бы иметь возможность получить версию исполняемого файла Python из другого скрипта Python (с другой версией Python).

Я знаю, что могу сделать это из оболочки с path/to/python -V. Но я хотел бы сделать это из сценария, например:

command = ' '.join([pythonpath, '-V'])
output = subprocess.check_output( command, shell=True )
print output

Но в этом случае check_output не работает должным образом: вывод отображается на терминале, но не входит в переменную output .

1 Ответ

1 голос
/ 13 марта 2019

Код

#!/usr/bin/python2
# -*- coding: utf-8 -*-

from subprocess import Popen, PIPE

if __name__ == '__main__':

    cmd = '/usr/local/bin/python2'
    param = '-V'

    process = Popen([cmd, param], stdout=PIPE, stderr=PIPE)
    process.wait()

    # be aware, the order should be out, err for shell tools, but python reply shows in err, out, i've no idea why

    err, out = process.communicate()

    print out

выход

Python 2.7.15

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...