как заставить sys.executable наследоваться подпроцессом в python

#python #subprocess

#python #подпроцесс

Вопрос:

У меня есть основной процесс, который создает некоторые дочерние процессы, используя subprocess.Popen . Эти дочерние процессы, в свою очередь, могут создавать новые процессы, а многие и нет. Я хочу иметь возможность использовать sys.executable из корневого процесса.

Можно ли каким-либо образом это сделать без использования переменных окружения, которые могут передаваться от процесса к процессу?

Комментарии:

1. subprocess.Popen([sys.executable, "/path/to/script.py"]) ?

Ответ №1:

Как сказал Томас К., sys.executable — это просто переменная, которая содержит запущенный интерпретатор. Чтобы вызвать его как процесс, передайте его в качестве первого аргумента в subprocess.Popen

 subprocess.Popen([sys.executable, "path/to/script.py"])