mod_wsgi httpd 和 Flask 应用程序导入错误
Import Error with mod_wsgi httpd and a Flask Application
好的,这是我在有人尝试访问服务器时收到的错误。 (来自error_log)
错误
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] mod_wsgi (pid=19122): Target WSGI script '/var/www/QuickSearch/quicksearch.wsgi' cannot be loaded as Python module.
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] mod_wsgi (pid=19122): Exception occurred processing WSGI script '/var/www/QuickSearch/quicksearch.wsgi'.
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] Traceback (most recent call last):
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] File "/var/www/QuickSearch/quicksearch.wsgi", line 12, in <module>
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] from quicksearch import app
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] File "/var/www/QuickSearch/QuickSearch/quicksearch.py", line 5, in <module>
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] from flask import Flask
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] File "/usr/lib/python2.6/site-packages/flask/__init__.py", line 19, in <module>
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] from jinja2 import Markup, escape
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] ImportError: No module named jinja2
我的目录
quicksearch.py 是主要的应用程序,其余的是 html 网站等
/var/www/QuickSearch/
|-- QuickSearch
| |-- __init__.py
| |-- quicksearch.py
| |-- static
| | |-- css
| | |-- fonts
| | `-- js
| `-- templates
`-- quicksearch.wsgi
quicksearch.wsgi
#!/usr/bin/env /usr/prod/mts/platform/sandboxes/rhel6/mts-build-09/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
activate_this = '/var/www/QuickSearch/QuickSearch/venv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
sys.path.insert(0,"/var/www/QuickSearch/QuickSearch/")
sys.path.append("/var/www/QuickSearch/")
from quicksearch import app as application
quicksearch.conf
这是服务器的配置文件
WSGIPythonPath "/var/www/QuickSearch/QuickSearch/venv/lib64/python2.7/site-packages"
<VirtualHost *:80>
ServerName 10.0.2.15
WSGIScriptAlias / /var/www/QuickSearch/quicksearch.wsgi
WSGIScriptReloading On
<Directory /var/www/QuickSearch/QuickSearch/>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
我完全不知所措,这两天我一直在努力解决这个问题,但不知道下一步该怎么做。我已经看过与此类似的线程,但仍未找到解决方案。如果您需要任何信息来帮助解决此问题,请 post。谢谢你。
您的 mod_wsgi 是为 Python 2.6 编译的。您不能使用 Python 2.7 强制它使用 Python 虚拟环境。 mod_wsgi 关于 Python 虚拟环境的文档对此进行了解释,网址为:
您将需要安装一个 mod_wsgi 版本,它是为 Python 2.7 编译的。
好的,这是我在有人尝试访问服务器时收到的错误。 (来自error_log)
错误
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] mod_wsgi (pid=19122): Target WSGI script '/var/www/QuickSearch/quicksearch.wsgi' cannot be loaded as Python module.
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] mod_wsgi (pid=19122): Exception occurred processing WSGI script '/var/www/QuickSearch/quicksearch.wsgi'.
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] Traceback (most recent call last):
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] File "/var/www/QuickSearch/quicksearch.wsgi", line 12, in <module>
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] from quicksearch import app
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] File "/var/www/QuickSearch/QuickSearch/quicksearch.py", line 5, in <module>
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] from flask import Flask
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] File "/usr/lib/python2.6/site-packages/flask/__init__.py", line 19, in <module>
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] from jinja2 import Markup, escape
[Wed Dec 14 11:49:12 2016] [error] [client 10.0.2.15] ImportError: No module named jinja2
我的目录
quicksearch.py 是主要的应用程序,其余的是 html 网站等
/var/www/QuickSearch/
|-- QuickSearch
| |-- __init__.py
| |-- quicksearch.py
| |-- static
| | |-- css
| | |-- fonts
| | `-- js
| `-- templates
`-- quicksearch.wsgi
quicksearch.wsgi
#!/usr/bin/env /usr/prod/mts/platform/sandboxes/rhel6/mts-build-09/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
activate_this = '/var/www/QuickSearch/QuickSearch/venv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
sys.path.insert(0,"/var/www/QuickSearch/QuickSearch/")
sys.path.append("/var/www/QuickSearch/")
from quicksearch import app as application
quicksearch.conf
这是服务器的配置文件
WSGIPythonPath "/var/www/QuickSearch/QuickSearch/venv/lib64/python2.7/site-packages"
<VirtualHost *:80>
ServerName 10.0.2.15
WSGIScriptAlias / /var/www/QuickSearch/quicksearch.wsgi
WSGIScriptReloading On
<Directory /var/www/QuickSearch/QuickSearch/>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
我完全不知所措,这两天我一直在努力解决这个问题,但不知道下一步该怎么做。我已经看过与此类似的线程,但仍未找到解决方案。如果您需要任何信息来帮助解决此问题,请 post。谢谢你。
您的 mod_wsgi 是为 Python 2.6 编译的。您不能使用 Python 2.7 强制它使用 Python 虚拟环境。 mod_wsgi 关于 Python 虚拟环境的文档对此进行了解释,网址为:
您将需要安装一个 mod_wsgi 版本,它是为 Python 2.7 编译的。