Django 与 Apache 和 wsgi 的语法错误

SyntaxError at django with Apache and wsgi

这是httpd的error_log文件,当运行安装django应用程序

File "/var/www/html/mailqenv/lib/python3.4/site-packages/celery/utils/functional.py", line 11, in <module>
[Tue Nov 28 21:26:18.349280 2017] [:error] [pid 3665] [remote 41.187.94.200:84]     from kombu.utils.functional import (
[Tue Nov 28 21:26:18.349296 2017] [:error] [pid 3665] [remote 41.187.94.200:84]   File "/var/www/html/mailqenv/lib/python3.4/site-packages/kombu/utils/__init__.py", line 5, in <module>
[Tue Nov 28 21:26:18.349322 2017] [:error] [pid 3665] [remote 41.187.94.200:84]     from .compat import fileno, maybe_fileno, nested, register_after_fork
[Tue Nov 28 21:26:18.349333 2017] [:error] [pid 3665] [remote 41.187.94.200:84]   File "/var/www/html/mailqenv/lib/python3.4/site-packages/kombu/utils/compat.py", line 29, in <module>
[Tue Nov 28 21:26:18.349350 2017] [:error] [pid 3665] [remote 41.187.94.200:84]     from typing import NamedTuple
[Tue Nov 28 21:26:18.349400 2017] [:error] [pid 3665] [remote 41.187.94.200:84]   File "/var/www/html/mailqenv/lib/python3.4/site-packages/typing.py", line 133
[Tue Nov 28 21:26:18.349408 2017] [:error] [pid 3665] [remote 41.187.94.200:84]     def __new__(cls, name, bases, namespace, *, _root=False):
[Tue Nov 28 21:26:18.349412 2017] [:error] [pid 3665] [remote 41.187.94.200:84]                                               ^
[Tue Nov 28 21:26:18.349416 2017] [:error] [pid 3665] [remote 41.187.94.200:84] SyntaxError: invalid syntax

httpd的conf文件:

Alias /static /var/www/html/mailqueue/static
<Directory /var/www/html/mailqueue/static>
    Require all granted
</Directory>

<Directory /var/www/html/mailqueue/mailqueue>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>


<Directory /var/www/html/mailqueue>
        Order deny,allow
        Allow from all
</Directory>

WSGIDaemonProcess mailqueue python-path=/var/www/html/mailqueue:/var/www/html/mailqenv/lib/python3.4/site-packages
WSGIProcessGroup mailqueue
WSGIScriptAlias / /var/www/html/mailqueue/mailqueue/wsgi.py`

OS > PRETTY_NAME="Red Hat Enterprise Linux Server 7.2 (Maipo)"

但是如果我激活我的虚拟环境并且 运行 和 python manage.py runserver 0.0.0.0:8000 它运行良好并且一切都很好所以这里的问题是什么,是 python 版本兼容性

更新----------

我尝试了这个的答案,但没有成功

出现此错误是因为您的 mod_wsgi 是为 Python 2.7 编译的,但您已将其指向 Python 虚拟环境和 Python 3.X。 Python 2.7.

中不存在仅关键字语法

您需要安装 mod_wsgi,它是针对您要使用的 Python 3.X 版本编译的。您不能强制为一个版本编译的 mod_wsgi 为不同的 Python 版本使用 Python 虚拟环境。

您可以使用检查:

验证您的 mod_wsgi 编译的 Python 版本。

同时评论:

使用虚拟环境的推荐方式 mod_wsgi。您目前没有使用推荐的方式。