2016-02-13 84 views
0

我已經在ubuntu 14.04上安裝了使用python3.4綁定的OpenCV 3.0。我使用virtualenv運行OpenCV。所以,每次我必須運行workon cv命令。
現在我想運行一個Python腳本,使用exec命令使用PHP中的OpenCV庫。圖像處理(使用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' 

回答

3

兩個問題...

1 PATH到workon

該錯誤消息告訴你它不知道其中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");