我試圖通過WSGI我的Apache的Amazon EC2服務器上運行一個Python應用程序,和我不斷收到此錯誤:導入錯誤:沒有模塊名爲CV2 - WSGI +蟒蛇+ apache的
[Tue Aug 16 18:22:57 2016] [error] [client 72.219.147.5] mod_wsgi (pid=28751): Target WSGI script '/var/www/html/lumos/wsgi.py' cannot be loaded as Python module.
[Tue Aug 16 18:22:57 2016] [error] [client 72.219.147.5] mod_wsgi (pid=28751): Exception occurred processing WSGI script '/var/www/html/lumos/wsgi.py'.
[Tue Aug 16 18:22:57 2016] [error] [client 72.219.147.5] Traceback (most recent call last):
[Tue Aug 16 18:22:57 2016] [error] [client 72.219.147.5] File "/var/www/html/lumos/wsgi.py", line 11, in <module>
[Tue Aug 16 18:22:57 2016] [error] [client 72.219.147.5] import app
[Tue Aug 16 18:22:57 2016] [error] [client 72.219.147.5] File "/var/www/html/lumos/app.py", line 2, in <module>
[Tue Aug 16 18:22:57 2016] [error] [client 72.219.147.5] import main
[Tue Aug 16 18:22:57 2016] [error] [client 72.219.147.5] File "/var/www/html/lumos/main.py", line 1, in <module>
[Tue Aug 16 18:22:57 2016] [error] [client 72.219.147.5] import mod_one
[Tue Aug 16 18:22:57 2016] [error] [client 72.219.147.5] File "/var/www/html/lumos/mod_one.py", line 1, in <module>
[Tue Aug 16 18:22:57 2016] [error] [client 72.219.147.5] import cv2
[Tue Aug 16 18:22:57 2016] [error] [client 72.219.147.5] ImportError: No module named cv2
這是該cv2.so文件位於(sudo find/-name "cv2.so"
):
/var/www/html/lumos/opencv/build/lib/cv2.so
/usr/local/lib/python2.7/dist-packages/cv2.so
而且我已經設置了WSGI的Python路徑是如該文件位於:
WSGIPythonPath /usr/local/lib/python2.7/site-packages/:/usr/local/lib/python2.7/dist-packages/
我知道OpenCV的安裝是否正確,因爲當我這樣做,有沒有錯誤:
$ python
>>>import cv2 #no import error
>>>
當我安裝的mod_wsgi,這是使用:
mod_wsgi-python26-3.2-6.11.amzn1.x86_64
這裏是我的wsgi.py文件
import os, sys
sys.path.insert(0, "/var/www/html/lumos")
import bottle
import app
application = bottle.default_app() #using bottle.py web-framework
這裏是我的httpd.conf:
WSGISocketPrefix /var/run/wsgi
WSGIPythonPath /usr/local/lib/python2.7/site-packages/:/usr/local/lib/python2.7/dist-packages/
<VirtualHost *>
ServerName lumos.website.me
DocumentRoot /var/www/html/lumos
WSGIDaemonProcess lumos threads=5
WSGIScriptAlias//var/www/html/lumos/app.wsgi
<Directory "/var/www/html/lumos">
WSGIProcessGroup lumos
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
當我運行python -V
,我得到Python 2.7.10.
我怎樣才能讓mod_wsgi的工作,OpenCV的?任何幫助表示讚賞。
我再次檢查,並從錯誤日誌中找到的WSGI版本實際上是過時的(因爲我在錯誤日誌中滾動非常遠以找到該行)。實際上我已經在源代碼之間安裝了一個來自python 2.7的WSGI版本,這就是代碼最終運行的原因。 –
我從我的問題中刪除了WSGI版本行,因爲它不正確。 –
您仍然不需要將「dist-packages」和「site-packages」自己添加到Python模塊搜索路徑中。如果你這樣做,仍然有可能出錯。除'/ usr/local''之外,你還在'/ usr'下安裝了Python 2.7系統嗎? –