Запретить Popen изменять версию Python - PullRequest
0 голосов
/ 03 ноября 2018

, когда я запускаю следующий код:

output = subprocess.Popen("python -c 'import sys; print(sys.version_info[:])'", shell=True)
print(output.communicate()[0])

Я получаю (3, 4, 3, 'финал', 0) как вывод, указывающий, что он запустил python3.4

однако, когда я запускаю python -c 'import sys; print(sys.version_info[:])' в терминале, я получаю (2, 7, 6, 'final', 0), указывая, что он запустил python2. Я не уверен, как заставить popen запустить python2.

Я также обнаружил, что когда я вызываю popen для запуска сценария оболочки, который запускает сценарий python, он по умолчанию будет использовать python3, даже если сценарий имеет #!/usr/bin/env python, который указывает на python2.

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