django 为什么在python中运行subprocess时,g++不能被识别为命令?

ukxgm1gy  于 2022-12-24  发布在  Go
关注(0)|答案(1)|浏览(124)

我有一个在线ide,它从用户那里获取代码和语言,提交后服务器必须执行文件。我的系统上安装了g ++,但执行时我在subprocess模块中得到以下错误:

'g++' is not recognized as an internal or external command,
operable program or batch file.
'.' is not recognized as an internal or external command,
operable program or batch file.

文件执行的函数为:

def execute_file(file_name,language):
    if(language=="cpp"):
        #g++ xyz.cpp
        subprocess.call(["g++","code/" + file_name],shell=True)    #this only compiles the code
        subprocess.call(["./a.out"],shell=True)          #this executes the compiled file.

我的代码文件在/code目录中。
目录结构为:

a64a0gku

a64a0gku1#

在我指定删除shell=True并使用os module指定文件的绝对路径后,冲突得到解决。

相关问题