我在执行节点js脚本时遇到问题。当我通常从命令行运行此脚本时,一切正常。
但是当我想直接从django执行该脚本时,它将打印出如下错误:
第一行表示您在执行该脚本的代码行之前的代码中。其次是路径,正如你所看到的那样。第三,错误是该目录中的文件(我正在检查是否从命令行执行命令)
我记得这个django项目在docker容器中运行,所以我认为可能存在错误。
这是我的代码行,我在view.py中运行该脚本:
def prepare_log_img(picture):
string_without_header = re.sub('^data:image/.+;base64,', '', picture)
img_data = base64.b64decode(string_without_header)
filename = SITE_ROOT + "/faceId/logged.png"
with open(filename, 'wb') as f:
f.write(img_data)
os.chdir(SITE_ROOT + "/static/scripts")
print("Pred face detection")
print(SITE_ROOT + "/static/scripts")
print(os.system("ls"))
os.system("node face-detection.js logged.png")
最后一行是执行。谁知道问题是什么?谢谢。
答案 0 :(得分:1)
执行node face-detection.js logged.png
行的操作系统不知道在哪里找到您的节点安装。您可以通过提供节点安装的完整路径来解决这个问题。
在常规终端窗口中输入which node
,找出它的安装位置,对我来说结果是/usr/sbin/node
。所以,如果我要运行该命令,它应该是:
os.system("/usr/sbin/node face-detection.js logged.png")