2

Apache2.22でDjangoをmod_wsgiで実行しようとしていますが、内部500エラーが発生します。これについて他にも質問があることは知っていますが、特定のエラーはありません。これが私のトレースバックです:

[Sat Jun 16 02:17:48 2012] [info] [client 128.227.11.143] mod_wsgi (pid=23071, process='partender', application='www.***.com|'): Loading WSGI script '/usr/home/***.com/zpencerq/part/apache/django.wsgi'.
[Sat Jun 16 02:17:48 2012] [error] [client 128.227.11.143] mod_wsgi (pid=23071): Target WSGI script '/usr/home/***.com/zpencerq/part/apache/django.wsgi' cannot be loaded as Python module.
[Sat Jun 16 02:17:48 2012] [error] [client 128.227.11.143] mod_wsgi (pid=23071): Exception occurred processing WSGI script '/usr/home/***.com/zpencerq/part/apache/django.wsgi'.
[Sat Jun 16 02:17:48 2012] [error] [client 128.227.11.143] Traceback (most recent call last):
[Sat Jun 16 02:17:48 2012] [error] [client 128.227.11.143]   File "/usr/home/partender.myprotosite.com/zpencerq/part/apache/django.wsgi", line 9, in <module>
[Sat Jun 16 02:17:48 2012] [error] [client 128.227.11.143]     import django.core.handlers.wsgi
[Sat Jun 16 02:17:48 2012] [error] [client 128.227.11.143]   File "/usr/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 2, in <module>
[Sat Jun 16 02:17:48 2012] [error] [client 128.227.11.143]     from threading import Lock
[Sat Jun 16 02:17:48 2012] [error] [client 128.227.11.143]   File "/usr/local/lib/python2.7/threading.py", line 15, in <module>
[Sat Jun 16 02:17:48 2012] [error] [client 128.227.11.143]     from collections import deque
[Sat Jun 16 02:17:48 2012] [error] [client 128.227.11.143]   File "/usr/local/lib/python2.7/collections.py", line 9, in <module>
[Sat Jun 16 02:17:48 2012] [error] [client 128.227.11.143]     from operator import itemgetter as _itemgetter
[Sat Jun 16 02:17:48 2012] [error] [client 128.227.11.143] ImportError: /usr/local/lib/python2.7/lib-dynload/operator.so: Undefined symbol "_PyUnicodeUCS4_AsDefaultEncodedString"

Pythonの問題のようですが、トレースバックの最後のエラーをどうすればよいかわかりません。それはPythonのインストールに問題がありますか?単純なWSGIhelloworldアプリを実行しましたが、これは完全に正常に機能します。これは、django呼び出しをmakignする際の問題です。

mod_wsgi.soで「ldd」を使用して次の出力を取得しました。

root@blah# ldd mod_wsgi.so
mod_wsgi.so:
ldd: mod_wsgi.so: Shared object "mod_wsgi.so" not found, required by "ldd"
mod_wsgi.so: exit status 1
4

1 に答える 1

2

ほとんどの場合、mod_wsgi は 1 つの Python インストールに対してコンパイルされていますが、強制的に別の Python インストールを使用しようとしています。問題が発生している理由は、一方の Python インストールが UCS2 サポートでコンパイルされ、もう一方が UCS4 でコンパイルされたためです。

mod_wsgi.so で 'ldd' を使用して、使用しようとしている Python インストールを表示し、その情報を mod_wsgi 構成または WSGI スクリプトの内容と共に質問の一部として提供し、別の Python インストールを強制的に使用させようとしている場合、または互換性がない場合仮想環境。

于 2012-06-16T07:28:30.587 に答える