Команда подпроцесса python (javac "Main.java") не работает на производстве

Я пытаюсь скомпилировать java файл из python(django). Когда я запускаю свой код на локальном сервере, мой java файл компилируется успешно. но когда я загружаю файлы на heroku, появляется ошибка Javac not found

def method1(request):
    code=request.data.get('code')
    len1=request.data.get('len')
    if os.path.isfile("Main.java"):
        os.remove("Main.java")
    f = open("Main.java", "x")
    f.write(code)
    f.close()
    file = 'Main.java'
    # codes[compile(file,len1)]
    std=""
    try:
        output = subprocess.check_output(
            "javac "+file, stderr=subprocess.STDOUT, shell=True, timeout=3,
            universal_newlines=True)
    except subprocess.CalledProcessError as exc:
        std="Status : FAIL", exc.returncode, exc.output
    else:
        # std="Output: \n{}\n".format(output)
        std="compiled sucess"
    

    context={
        'msg':'we got data',
         'code':code,
         'len':len1,
         'std':std
         
         
    }

    return Response(context)

Вот мой файл view.py.

ответ на локальном сервере

    "msg": "we got data",
    "code": "public class Main{\n    public static void main(String[]args){\n        \n        System.out.println(\"HELLO Sid\");\n        \n    }\n}",
    "len": "java",
    "std": "compiled sucess"
}

ответ на сервере heroku

    "msg": "we got data",
    "code": "public class Main{\n    public static void main(String[]args){\n        \n        System.out.println(\"HELLO Sid\");\n    }\n}",
    "len": "java",
    "std": [
        "Status : FAIL",
        127,
        "/bin/sh: 1: javac: not found\n"
    ]
}```
Вернуться на верх