wgsi/django1.5 と virtualenv を使用して django プロジェクトをデプロイしようとしていますが、エラーが発生します。
SyntaxError: invalid syntax
mod_wsgi (pid=23927): Exception occurred processing WSGI script '/opt/project.wsgi'.
Traceback (most recent call last):
File "/usr/lib/python2.4/site-packages/django/core/handlers/wsgi.py", line 230, in __call__
self.load_middleware()
File "/usr/lib/python2.4/site-packages/django/core/handlers/base.py", line 40, in load_middleware
mod = import_module(mw_module)
File "/usr/lib/python2.4/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/opt/project/app1/middleware.py", line 2, in ?
import requests
File "/opt/pythonenv/django15/lib/python2.7/site-packages/requests/__init__.py", line 58
from . import utils
^
SyntaxError: invalid syntax
これは、ミドルウェアが requests モジュールをインポートできないことが原因だと思います。
wsgi
import os
import sys
import site
site.addsitedir("/opt/pythonenv/django15/lib/python2.7/site-packages")
sys.path.append('/opt/')
sys.path.append('/opt/app1/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
os.environ['PYTHON_EGG_CACHE'] = '/opt/.python-eggs'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
httpd.conf
<VirtualHost x.x.x.x:80>
ServerName domain.com
WSGIScriptAlias / /opt/project/project.wsgi
WSGIDaemonProcess domain.com processes=5 python-path=/opt/pythonenv/django15/bin/python threads=1
Alias /media /project/app1/media
Alias /admin_media /usr/lib/python2.4/site-packages/django/contrib/admin/media
</VirtualHost>
私のvirtualenvにいるとき、問題なくリクエストなどをインポートできます。
>>>
>>> import django
>>> django.get_version()
'1.5.1'
>>> import requests
>>>
何か案は ?