图像处理(OpenCV with PHP) - exec命令问题

时间:2016-02-13 15:32:27

标签: php python c++ opencv simplecv

我在ubuntu 14.04上使用python3.4绑定设置了OpenCV 3.0。我使用virtualenv运行OpenCV。所以,每次我必须运行workon cv命令。
现在我想运行一个使用exec命令从PHP使用OpenCV库的python脚本。

exec("workon cv");
exec("python3 hough_circles.py")

这是错误:

sh: 1: workon: not found
Traceback (most recent call last):
  File "hough_circles.py", line 1, in <module>
    import cv2
ImportError: No module named 'cv2'

1 个答案:

答案 0 :(得分:3)

两个问题......

<强> 1。工作路径

错误消息告诉您它不知道workon的位置,因此您最好告诉它exec()可以找到它的完整路径,例如:

exec("/usr/local/bin/workon cv");

以上/usr/local/bin只是一个示例,如果您想知道系统的位置,请运行:

which workon

并使用输出。

<强> 2。子流程是独立的

即使您已正确设置,但执行workon的进程会退出,然后您将启动一个新的,有光泽的新进程 - 您尚未运行workon。所以,你最好在同一个过程中做这两件事:

exec("/usr/local/bin/workon cv && /path/to/python3 hough_circles.py");