【发布时间】:2015-04-30 06:34:06
【问题描述】:
在 Django 1.8 上 在 apache 错误日志中得到
File "..../python2.7/site-packages/django/utils/lru_cache.py", line 28
fasttypes = {int, str, frozenset, type(None)},
SyntaxError: invalid syntax
在运行 django 1.7+ 并且不满足 2.7 的最低 python 要求时,谷歌搜索似乎是一个错误。 然而
$ python --version
Python 2.7.3
这里是apache虚拟主机配置的相关部分。
<VirtualHost <some_ip>:80>
WSGIDaemonProcess some_process python-path=/path/to/django-project/main-django-app:/path/to/virtual-env/site-packages/ threads=15 display-name=%{GROUP}
WSGIProcessGroup some_group
WSGIScriptAlias / /path/to/django-project/main-django-app/wsgi.py
<Directory /path/to/django-project/main-django-app>
<Files wsgi.py>
Order deny,allow
# Require all granted
# for Apache < 2.4
Allow from all
</Files>
</Directory>
</VirtualHost>
有人知道问题可能是什么吗?
【问题讨论】:
-
命令行 Python 版本无关紧要。 mod_wsgi 包针对特定的 Python 版本和 Python 共享库中的链接进行编译。因此不使用 PATH 中的“python”。您的 mod_wsgi 可能是为 Python 2.6 编译的。请参阅文档 code.google.com/p/modwsgi/wiki/… 和 code.google.com/p/modwsgi/wiki/…
-
就在按钮上。该系统的默认值为 2.6.6(它是一个托管服务器,我忘记了我使用的是本地编译的 2.7 版本)。我在等着看看将 mod_wsgi 重新编译到 2.7 是否可以解决这个问题。
标签: python django apache mod-wsgi