Следующий код не запускает мое приложение на Python 3.7 на Ма c 10.15.3.
import subprocess
cmdLine = "/Applications/RV.app/Contents/MacOS/RV"
subprocess.Popen(cmdLine, shell=True)
Это не выдает ошибку, просто ничего не делает. Если я запускаю тот же код в Python 2.7, он работает правильно и запускает приложение, не дожидаясь его.
Я обнаружил, отлаживая и прогуливаясь по коду подпроцесса, который он фактически запустил, когда я это делал. Что заставило меня попробовать:
import subprocess
import time
cmdLine = "/Applications/RV.app/Contents/MacOS/RV"
subprocess.Popen(cmdLine, shell=True)
time.sleep(1)
Что тогда сработало. Кажется, что команда Popen
не может порождать отдельный процесс до выхода python. Я что-то здесь не так делаю?
Редактировать:
Похоже, что это также имеет отношение к реальному приложению, которое я пытаюсь запустить. Например, запуск приложения «Калькулятор» или Firefox работает без добавления сна.