У меня есть код, который использует pip, чтобы загружать Python envionment для процесса сборки: это прекрасный способ обеспечить правильную изоляцию требований сборки от остальной хост-системы и помочь нам получить более последовательные результаты сборки в общем и целом.Как подождать ребенка, который возрождается с помощью os.execv() на win32?
В любом случае, код, который у меня есть, имеет pip.py
, похоже, есть проблемы с окнами. Проблема в том, что я создаю процесс pip
из сценариев начальной загрузки, используя subprocess.Popen()
, а затем жду, пока процесс завершится, но это происходит слишком рано из-за того, что pip
использует execv, чтобы перезапустить себя под новым созданным virtualenv. Когда это случается, мой родитель видит, что ребенок вышел с кодом выхода 0, и он продолжает на нем веселье.
Итак, вопрос прост: как я могу справиться с вызовом os.execv()
из дочернего процесса на win32, где я могу установить код возврата только что выполненного дочернего процесса?
Файл флага звучит как жизнеспособное решение, не так уж плохо иметь пустой файл, чтобы проверить что-то подобное в моем примере –