1

django Web サイトにアクセスしようとすると、「内部サーバー エラー」が発生します。Django 1.8、Python 2.7.10、centos 6.5、および apache を使用しています。

Apache ログに次のエラーが表示されます。

mod_wsgi (pid=23866): Target WSGI script '/abc/abc/abc/wsgi.py' cannot be loaded as Python module.
[Mon May 25 14:40:47 2015] [error] [client xyz] mod_wsgi (pid=23866): Exception occurred processing WSGI script '/abc/abc/abc/wsgi.py'.
[Mon May 25 14:40:47 2015] [error] [client xyz] Traceback (most recent call last):
[Mon May 25 14:40:47 2015] [error] [client xyz]   File "/abc/abc/abc/wsgi.py", line 12, in <module>
[Mon May 25 14:40:47 2015] [error] [client xyz]     from django.core.wsgi import get_wsgi_application
[Mon May 25 14:40:47 2015] [error] [client xyz]   File "/abc/lib/python2.7/site-packages/django/__init__.py", line 1, in <module>
[Mon May 25 14:40:47 2015] [error] [client xyz]     from django.utils.version import get_version
[Mon May 25 14:40:47 2015] [error] [client xyz]   File "/abc/lib/python2.7/site-packages/django/utils/version.py", line 7, in <module>
[Mon May 25 14:40:47 2015] [error] [client xyz]     from django.utils.lru_cache import lru_cache
[Mon May 25 14:40:47 2015] [error] [client xyz]   File "/abc/lib/python2.7/site-packages/django/utils/lru_cache.py", line 28
[Mon May 25 14:40:47 2015] [error] [client xyz]      fasttypes = {int, str, frozenset, type(None)},
[Mon May 25 14:40:47 2015] [error] [client xyz]                      ^
[Mon May 25 14:40:47 2015] [error] [client xyz]  SyntaxError: invalid syntax

ありがとう

4

2 に答える 2

7

Python 2.7 を実行していると言っていますが、このエラーは実際には 2.6 を使用していることを示しています。セット リテラルは 2.7 でのみ導入されたためです。

問題は、mod_wsgi が特定の Python バージョンに対してコンパイルされていることです。これは、Centos 6.5 に付属しているバージョンです。2.7 用に再コンパイルするか、それに対して既にコンパイルされているバージョンを見つける必要があります。

于 2015-05-25T19:57:56.630 に答える
0

django プロジェクトで virtualenv の使用を開始する必要があります。ここに素晴らしいチュートリアルがあります。その場しのぎの解決策として、を使用して python 2.7 で django を実行できますpython2.7 manage.py runserver。ただし、virtualenv を調べることを強くお勧めします。生活がずっと楽になります。

mod_wsgi で python 2.7 を使用するには、再コンパイルする必要があります。そのためには、ソースをダウンロードして実行するだけです:

$ ./configure
$ make
$ sudo make install

ここからアクセスできるクイックインストールガイドがあります。

于 2015-05-26T04:14:18.503 に答える