【发布时间】:2016-12-23 06:05:54
【问题描述】:
我正在尝试通过 WSGI 在我的 apache Amazon EC2 服务器上运行 python 应用程序,但我不断收到此错误:
[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 一起工作?任何帮助表示赞赏。
【问题讨论】:
标签: python apache opencv amazon-web-services amazon-ec2