在使用Apache和wsgi时出现了SyntaxError错误。

11 浏览
0 Comments

在使用Apache和wsgi时出现了SyntaxError错误。

这是在运行django应用程序时httpd的error_log文件。\n

File "/var/www/html/mailqenv/lib/python3.4/site-packages/celery/utils/functional.py", line 11, in 
[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 
[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 
[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

\nhttpd的配置文件:\n

Alias /static /var/www/html/mailqueue/static

    Require all granted


    
        Require all granted
    


        Order deny,allow
        Allow from all

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`

\n操作系统 > PRETTY_NAME=\"Red Hat Enterprise Linux Server 7.2 (Maipo)\"\n但是,如果我激活了我的虚拟环境并使用python manage.py runserver 0.0.0.0:8000运行,它能正常工作,一切都很好。那么问题是什么,是python版本的兼容性。

0
0 Comments

这个错误是因为你的mod_wsgi是为Python 2.7编译的,但你将其指向了一个Python虚拟环境和使用Python 3.X的代码。在Python 2.7中不存在关键字only语法。你需要安装已针对你想使用的Python 3.X版本编译的mod_wsgi。不能强制将为一个版本编译的mod_wsgi用于不同Python版本的虚拟环境。你可以使用以下链接中的检查来验证你的mod_wsgi编译的Python版本:http://modwsgi.readthedocs.io/en/develop/user-guides/checking-your-installation.html。另外,请查阅以下链接:http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html,了解使用mod_wsgi的虚拟环境的推荐方法。你目前没有使用推荐的方法。

0