Как я могу найти путь Python2 в коде Python3? - PullRequest
0 голосов
/ 07 декабря 2018

Я использую и python 2 и python 3 на моей машине.Я использую нотацию she-bang в верхней части моих сценариев python и использую новый модуль запуска python, поставляемый с python 3.

Я бы хотел найти путь python 2 для python.exe изнутриСценарий python 3, работающий в Windows.

sys.executable и подобные команды не будут работать, потому что он показывает путь к текущему работающему python.Он не будет показывать путь к другой версии Python.

1 Ответ

0 голосов
/ 07 декабря 2018

Как насчет следующего?Он использует новый модуль запуска для запуска python2 и дает ему однострочную печать sys.executable, так что это интерпретатор python2, выполняющий его.

import subprocess

print(str(subprocess.run(['py', '-2', '-c', 'import sys;print(sys.executable)'],
               stdout=subprocess.PIPE).stdout, 'utf-8'))

Вывод:

$ python -V
Python 3.6.5

$ python get_two.py
C:\Python27\python.exe
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...