Вызов vcvarsall.bat в Python и использование его переменных env - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь заменить старый пакетный скрипт, обрабатывающий создание проекта, скриптом на python. Мне известен модуль подпроцесса, однако я не знаю, как вызвать vcvarsall.bat, который устанавливает переменные среды, необходимые для компиляции нашего проекта, и продолжает вводить команды. Что мне нужно, это код Python, который последовательно выполняет эти 3 команды:

cmd.exe /k ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"" amd64

qmake config+=somevars

nmake Somevars

Просто вызвать vcvarsall.bat следующим образом:

subprocess.check_output(["C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat", "amd64"])

не устанавливает переменные среды так, чтобы они были доступны для последующих команд.

Я нахожусь в докер-контейнере на базе Windows10 и Python3.6

1 Ответ

0 голосов
/ 13 ноября 2018

Разрешил, как предложено @lit, используя 3-строчный файл .bat:

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
qmake config+=somevars
nmake Somevars

и вызов этого с использованием Popen().wait(), см. здесь

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