Я создал онлайн-компилятор веб-приложения, используя django, который должен компилировать и запускать языки, подобные. - C - C ++ - Java - Python - C# Команды, которые я использую в своем проекте:
subprocess.Popen("Javac filename.java",stdin = PIPE , stdout =PIPE, shell=true)
subprocess.Popen("gcc filename.c",stdin = PIPE , stdout =PIPE, shell=true)
subprocess.Popen("g++ filename.cpp",stdin = PIPE , stdout =PIPE, shell=true)
subprocess.Popen("python filename.py",stdin = PIPE , stdout =PIPE, shell=true)
На моем локальном компьютере я установил компиляторы для вышеуказанных языков и запустил python команды подпроцесса для компиляции и запуска файла кода. Это работало хорошо на моем местном. Но в производстве, когда я развернул приложение m на платформе heroku, это не сработало, потому что эти компиляторы отсутствуют на heroku. Я использовал некоторые официальные buildpack-пакеты heroku, такие как JVM. Работают только языки java и python. Но C и C ++ не работают, так как нет официальных пакетов для G CC на heroku.
Я нигде не нашел решения, можете ли вы помочь мне с добавлением всех зависимости проекта.
Попытка сделать с docker, но не знаю, как добавить компиляторы в docker изображение.
Есть ли возможность добавить мои компиляторы в каталог проекта root и запустить подпроцесс в локальной среде проекта.