图像处理(带 PHP 的 OpenCV)- exec 命令问题
Image Processing (OpenCV with PHP) - Issue with the exec command
我在 ubuntu 14.04 上设置了带有 python3.4 绑定的 OpenCV 3.0。我 运行 OpenCV 使用 virtualenv。所以,每次我必须 运行 workon cv
命令。
现在我想 运行 一个 python 脚本,它使用来自 PHP 的 OpenCV 库,使用 exec
命令。
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.工作路径
错误消息告诉你它不知道 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");
我在 ubuntu 14.04 上设置了带有 python3.4 绑定的 OpenCV 3.0。我 运行 OpenCV 使用 virtualenv。所以,每次我必须 运行 workon cv
命令。
现在我想 运行 一个 python 脚本,它使用来自 PHP 的 OpenCV 库,使用 exec
命令。
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.工作路径
错误消息告诉你它不知道 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");