2016-06-23 14 views
0

私はApacheを使用してDjangoアプリケーションにアクセスしようとしていますが、内部サーバーエラーが発生しています。私は何が起こっているかを確認するためにログを開いていると私はこれを見つけた:mod_wsgiをPythonモジュールとして読み込むことができません

[Thu Jun 23 03:10:03 2016] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) 
[Thu Jun 23 03:10:03 2016] [notice] Digest: generating secret for digest authentication ... 
[Thu Jun 23 03:10:03 2016] [notice] Digest: done 
[Thu Jun 23 03:10:03 2016] [notice] Apache/2.2.15 (Unix) DAV/2 mod_wsgi/3.2 Python/2.6.6 configured -- resuming normal operations 
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175] mod_wsgi (pid=5612): Target WSGI script '/home/TaskManagement/teamwork/wsgi.py' cannot be loaded as Python module. 
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175] mod_wsgi (pid=5612): Exception occurred processing WSGI script '/home/TaskManagement/teamwork/wsgi.py'. 
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175] Traceback (most recent call last): 
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175] File "/home/TaskManagement/teamwork/wsgi.py", line 15, in <module> 
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175]  from django.core.wsgi import get_wsgi_application 
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175] File "/home/py3venv/lib/python3.4/site-packages/django/__init__.py", line 1, in <module> 
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175]  from django.utils.version import get_version 
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175] File "/home/py3venv/lib/python3.4/site-packages/django/utils/version.py", line 7, in <module> 
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175]  from django.utils.lru_cache import lru_cache 
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175] File "/home/py3venv/lib/python3.4/site-packages/django/utils/lru_cache.py", line 28 
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175]  fasttypes = {int, str, frozenset, type(None)}, 
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175]     ^
[Thu Jun 23 03:10:10 2016] [error] [client 197.41.248.175] SyntaxError: invalid syntax 

私のpython 3.4を使用していると、Django 1.9は、Apache 2.2。 とここに私のApacheの設定です:

WSGISocketPrefix /var/run/wsgi 
WSGIScriptAlias//home/TaskManagement/teamwork/wsgi.py process-group=hrm.jodod.info 
WSGIDaemonProcess hrm.jodod.info python-path=/home/TaskManagement:/home/py3venv/lib/python3.4/site-packages 
WSGIProcessGroup hrm.jodod.info 

Alias /robots.txt /home/TaskManagement/robots.txt 
Alias /favicon.ico /home/TaskManagement/favicon.ico 
Alias /static/ /home/TaskManagement/static/ 

<Directory /path/to/mysite.com/static> 
Order deny,allow 
Allow from all 
</Directory> 

<Directory /home/TaskManagement/teamwork> 
<Files wsgi.py> 
Order deny,allow 
Allow from all 
</Files> 

、ここでは私のwsgi.pyファイルです:

import os 
import sys 

sys.path.append('/home/TaskManagement') 
sys.path.append('/home/TaskManagement/teamwork') 
from django.core.wsgi import get_wsgi_application 

os.environ["DJANGO_SETTINGS_MODULE"] = "{{ project_name }}.settings" 
application = get_wsgi_application() 

誰も私が間違っているのかを把握することはできますか?

答えて

2
Python/2.6.6 configured -- resuming normal operations 

あなたのmod_wsgiはPython 2.6.6でコンパイルされて、あなたはそれでのpython3のコードを実行しようとしているように見えます。このエラーで表示されているSet syntaxがPy3に登場しました。 mod_wsgiを再コンパイルして、やり直してください。

+0

これは問題でした。私はmod_wsgiのソースをインストールし、Python 3.4に対してコンパイルしなければなりませんでした。 – Khafaga

1

あなたwsgi.pyライン9は、それが保存されているディレクトリには、チームワーク(プロジェクト名)、それはチームワーク「にする必要があり、あなたのmanage.pyでも

呼び出された場合

os.environ["DJANGO_SETTINGS_MODULE"] = "teamwork.settings" 

なければなりません。設定の」

+0

Pythonファイル内でDjangoのテンプレート構文を使用することはできません – dmitryro

関連する問題