httpd mod_wsgi for python3.4在centos7中不起作用



我使用python3.4在centos7中运行的django应用程序。我正在将Apache用于Web服务器。但是我会遇到以下错误:

[Tue Dec 05 09:48:17.048763 2017] [:error] [pid 8470] [remote 103.194.69.2:100] mod_wsgi (pid=8470): Target WSGI script '/var/www/hello_world_django/hello_world_django/wsgi.py' cannot be loaded as Python module.
[Tue Dec 05 09:48:17.049021 2017] [:error] [pid 8470] [remote 103.194.69.2:100] mod_wsgi (pid=8470): Exception occurred processing WSGI script '/var/www/hello_world_django/hello_world_django/wsgi.py'.
[Tue Dec 05 09:48:17.049272 2017] [:error] [pid 8470] [remote 103.194.69.2:100] Traceback (most recent call last):
[Tue Dec 05 09:48:17.049383 2017] [:error] [pid 8470] [remote 103.194.69.2:100]   File "/var/www/hello_world_django/hello_world_django/wsgi.py", line 13, in <module>
[Tue Dec 05 09:48:17.049625 2017] [:error] [pid 8470] [remote 103.194.69.2:100]     from django.core.wsgi import get_wsgi_application
[Tue Dec 05 09:48:17.049661 2017] [:error] [pid 8470] [remote 103.194.69.2:100]   File "/var/www/virtual/lib/python3.4/site-packages/django/__init__.py", line 1, in <module>
[Tue Dec 05 09:48:17.049711 2017] [:error] [pid 8470] [remote 103.194.69.2:100]     from django.utils.version import get_version
[Tue Dec 05 09:48:17.049735 2017] [:error] [pid 8470] [remote 103.194.69.2:100]   File "/var/www/virtual/lib/python3.4/site-packages/django/utils/version.py", line 61, in <module>
[Tue Dec 05 09:48:17.049777 2017] [:error] [pid 8470] [remote 103.194.69.2:100]     @functools.lru_cache()
[Tue Dec 05 09:48:17.049901 2017] [:error] [pid 8470] [remote 103.194.69.2:100] AttributeError: 'module' object has no attribute 'lru_cache'

python3.4的mod_wsgi似乎存在一些问题。要检查我是否尝试使用Python2.7及其在Pythyon2.7中使用它。

我无法在CentOS中找到用于Python3.4的MOD_WSGI软件包。任何ISEAS如何解决此问题???

这是我的apache conf

Listen 8080
# Django settings
WSGIDaemonProcess django_com user=apache group=apache processes=1 threads=10 python-path=/var/www/sample:/var/www/sample_env/lib/python2.7/site-packages
WSGIProcessGroup django_com
WSGIScriptAlias / /var/www/sample/sample/wsgi.py
<Directory /var/www/sample>
<Files wsgi.py>
    Require all granted
</Files>
</Directory>

让python 3.4与mod_wsgi在centos中合作,假设您从Epel安装了Python 3.4(和PIP),则可以做到这一点:

yum install httpd-devel(您需要此用于MOD_WSGI的PIP安装)

pip3 install mod-wsgi

mod_wsgi-express install-module > /etc/httpd/conf.modules.d/02-wsgi.conf