совместимость с xapian-bindings python - PullRequest
0 голосов
/ 14 октября 2010

я могу заставить xapian работать как положено с python на моем сервере разработки, но у меня возникают проблемы с моим веб-сервером.

Я продолжаю сталкиваться с этой ошибкой:

import xapian Traceback (последний вызов был последним): файл "", строка 1, в файле "/home/x/lib/python2.6/xapian/init.py",строка 28, в файле _xapian = swig_import_helper () "/home/x/lib/python2.6/xapian/init.py", строка 27, в swig_import_helper возвращают _mod UnboundLocalError: ссылка на локальную переменную '_mod'перед присваиванием

я установил последнюю копию swig и переустановил xapian core и xapian-bindings, но ошибка сохраняется.

Любые идеи очень ценятся.

1 Ответ

3 голосов
/ 14 октября 2010

Я считаю, что проблема здесь будет в установке пакета xapian-bindings.

Привязки xapian для Python состоят из двух частей - части, написанной на python, и скомпилированного модуля.Вы четко установили часть Python успешно (т.е. /home/x/lib/python2.6/xapian/init.py), но когда часть Python пытается загрузить скомпилированный модуль, она не может импортировать его.

К сожалению, ошибка (возможно, в swig) вызывает другую ошибку, поэтому вы не видите исключения из неудачного импорта.Чтобы увидеть ошибку импорта, удалите строку 27 файла modern / xapian.py;то есть, измените его с чтения:

try:
    _mod = imp.load_module('_xapian', fp, pathname, description)
finally:
    fp.close()
    return _mod

на чтение:

try:
    _mod = imp.load_module('_xapian', fp, pathname, description)
finally:
    fp.close()

Вы не говорите, как вы установили привязки xapian, на какой платформе вы работаете, иликакую версию Xapian вы используете, так что я не могу предположить, как вы попали в это состояние.Надеюсь, полное исключение будет поучительным.

...