Проблема в вызове sudo make install в скрипте python

Я написал следующий код для настройки пакета yara в моем скрипте, но когда он вызывает sudo make install, python выдает ошибку. Как я могу это исправить?

    def yara_installation(self):
    os.chdir("yara/")
    self.installYara = "./bootstrap.sh;./configure;make;sudo make install"
    for self.items in self.installYara.split(";"):
        if (subprocess.run(self.items, stdout=DEVNULL, stderr=DEVNULL)):
            self.color.print_blue("\t[+] {} command is running.".format(self.items))
        else:
            self.color.print_blue("\t[+] {} command isn't running.".format(self.items))

Исключение: [Errno 2] Нет такого файла или каталога: 'sudo make install'

1 ответ

Замените свой subprocess.run() команда с этим:

subprocess.call(self.items, stdout=DEVNULL, stderr=DEVNULL,shell=True)

Это должно работать, однако я лично подхожу к этому через списки и вызываю определенную оболочку для каждого сценария оболочки. shell=True однако позвоню /bin/sh на ваше bootstrap.sh, который, надеюсь, не содержит никаких ошибок и является переносимым.

Другие вопросы по тегам