我正在创建一个使用apache2管理的web应用程序,我试图解决的问题是使用php运行python脚本,我正在附加代码:
PHP CODE:
<?php
$command = escapeshellcmd("/usr/bin/python3.6 /var/www/html/yoloface-master/showInWeb.py");
$output = shell_exec($command);
echo $output;
?>
PYTHON CODE
#!/usr/bin/python3.6
import hashlib, os, sys, cv2, PIL, subprocess, glob, numpy, django, random
from PIL import Image
import shutil
def showInWeb():
pathYolo = 'yoloface-master/'
os.chdir(pathYolo)
photo = random.choice(os.listdir("../Database/ARCHIVIOIMAGO"))
path = '../Database/ARCHIVIOIMAGO/'
print(photo)
shutil.rmtree('outputs/')
processPhoto = path + photo
command_line = ('python3.6', 'yoloface.py', '--image', processPhoto, '--output-dir', 'outputs/')
print(subprocess.run(command_line))
showInWeb();
作为IDE,我使用的是pyCharm,如果我在pyCharm终端中运行相同的命令行(我不在虚拟环境中),程序运行不会出现问题,但是如果我通过php脚本运行它,我会得到一个错误,如“没有名为cv2的模块”,这使我猜测php使用的是不同的版本。 我在互联网上读到一个可能的解决方案是将“sudo”放在命令行上,如:
sudo /usr/bin/python3.6 /var/www/html/yoloface-master/showInWeb.py
但我得到了这个错误:
sudo: no tty present and no askpass program specified
我该怎么办
目前没有回答
相关问题 更多 >
编程相关推荐