Написание скрипта, который автоматизирует установку git-репо Web Assembly.Он загружает репозиторий, вызывает команды для его настройки.
Я работаю над инструкциями этого сайта: https://webassembly.org/getting-started/developers-guide/
Целевое поведение: $ source ./emsdk_env.sh --build=Release
Это не так просто в Python, так как подпроцесс, кажется, не сокращает его.Я нашел команду exec(open("filename.sh").read())
, но не могу понять, как передать в--build=Release
параметр.
Я думаю, что это кортеж ключ-значение, и его нужно передать как таковой, но как это сделать, тоже нелегко было найти.Это текущий код, который я пытаюсь выполнить:
with open(emsdk_envFile) as f:
code = compile(f.read(), emsdk_envFile, 'exec')
exec(code, 'Release')
Это вывод CLI, который я получаю:
File "installWebAssembly.py", line 184, in main
code = compile(f.read(), emsdk_envFile, 'exec')
File "/home/bcuser/Git/emsdk/emsdk_env.sh", line 19
if [ "$SRC" = "" ]; then
^
SyntaxError: invalid syntax
Было предложено использовать подпроцесс.Однако, когда я запускаю подробную команду в Subprocess.call (), я получаю такой вывод:
subprocess.call('source /home/bcuser/Git/emsdk/emsdk_env.sh --build=Release', shell=True)
...
$ python myScript.py
OUTPUT:
/bin/sh: 1: source: not found
/bin/sh: 1: source: not found
Конечная цель - автоматизировать все шаги, необходимые для установки и использования веб-сборки.Цель файла emsdk_env.sh - добавить соответствующие переменные среды и записи каталога в PATH, чтобы настроить текущий терминал для быстрого доступа к инструментам компилятора.