subprocess.call(["python", "script2.py"])
ожидает завершения подпроцесса.
Просто используйте Popen
вместо:
proc = subprocess.Popen(["python", "script2.py"])
Позже вы можете сделать proc.poll()
, чтобы увидеть, закончен ли он или нет, или proc.wait()
, чтобы дождаться его завершения (как это делает call
), или просто забыть об этом и вместо этого делать другие вещи.
Кстати, вы можете убедиться, что вызывается тот же самый python
, и ОС может его найти, используя sys.executable
вместо просто "python"
:
subprocess.Popen([sys.executable, "script2.py"])