Мне нужно узнать, установлен ли на компьютере Python.
Моя конкретная проблема заключается в том, что я распространяю программу, которая поставляется со своим собственным интерпретатором + стандартной библиотекой (у конечного пользователя может не быть Python). При установке я даю возможность использовать установленную пользователем собственную библиотеку интерпретатора Python +, если она у них есть. Однако мне нужно его местонахождение. Я могу попросить пользователя найти его вручную, но я надеялся, что это был автоматический способ.
Поскольку мой установщик использует мой включенный интерпретатор, sys.prefix
относится к включенному интерпретатору (я знаю это, потому что пробовал его, у меня установлены Python 2.7 и 3.3).
Я также пробовал использовать subprocess.call
: subprocess.call(['py', '-c', '"import sys; print sys.prefix"'])
, который использовал бы стандартный интерпретатор Python, если бы он был, но я не уверен, как записать этот вывод.
Таким образом, есть ли другие способы узнать, установлена ли на компьютере пользователя версия Python по умолчанию и где?