ImportError при запуске приложения WSGI в Apache: undefined symbol: PyUnicodeUCS2_DecodeUTF8

Я пытаюсь запустить MoinMoin под Apache на SLES 11P1. Я получаю следующую ошибку в своем журнале Apache, когда кто-то пытается получить доступ к сайту:

mod_wsgi (pid=20772): Target WSGI script '/srv/www/wiki/moin.wsgi' cannot be loaded as Python module. mod_wsgi (pid=20772): Exception occurred processing WSGI script '/srv/www/wiki/moin. wsgi'. Traceback (most recent call last): File "/srv/www/wiki/moin.wsgi", line 44, in <module> from MoinMoin.web.serving import make_application File "/usr/local/lib64/python2.6/site-packages/MoinMoin/web/serving.py", line 14, in <module> from MoinMoin import version, log File "/usr/local/lib64/python2.6/site-packages/MoinMoin/log.py", line 92, in <module> import logging.config File "/usr/lib/python2.6/logging/config.py", line 30, in <module> import sys, logging, logging.handlers, string, socket, struct, os, traceback, types File "/usr/lib/python2.6/logging/handlers.py", line 27, in <module> import logging, socket, types, os, string, cPickle, struct, time, re ImportError: /usr/lib64/python2.6/lib-dynload/cPickle.so: undefined symbol: PyUnicodeUCS2_DecodeUTF8 

Тем не менее, у меня нет проблем, если я выполняю заявление об ошибке вручную с помощью интерпретатора Python:

 $ python 'import site' failed; use -v for traceback Python 2.6.6 (r266:84292, Feb 17 2011, 08:36:48) [GCC 4.3.4 [gcc-4_3-branch revision 152973]] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import logging, socket, types, os, string, cPickle, struct, time, re >>> 

Что может вызвать эту ошибку при работе под Apache, но не при запуске Python в командной строке?

Изменить: похоже, что они используют разные общие библиотеки. Apache /usr/lib64/python2.6/lib-dynload/cPickle.so а интерпретатор Python, который я вызываю в командной строке, попадает /usr/lib/python2.6/lib-dynload/cPickle.so

 $ python -v ... >>> import cPickle dlopen("/usr/lib/python2.6/lib-dynload/cPickle.so", 2); dlopen("/usr/lib/python2.6/lib-dynload/cStringIO.so", 2); 

Как вы сами отметили, что Apache (64-разрядная версия) загружает разные библиотеки, в то время как вы выполняете разные биты python из командной строки. Исправить двоичные файлы / библиотеки для 64-разрядной установки Python2.6. Это, надеюсь, уйдет.