我试图通过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系统吗? –