0

我能够让 xapian 在我的开发服务器上使用 python 按预期工作,但我的 Web 服务器出现问题。

我一直遇到这个错误:

导入 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,但错误仍然存​​在。

任何想法都非常感谢。

4

1 回答 1

3

我相信这里的问题将出在 xapian-bindings 包的安装上。

Python 的 xapian 绑定由两部分组成 - 用 python 编写的部分和编译的模块。您已经成功地安装了python 部分(即/home/x/lib/python2.6/xapian/init.py),但是当python 部分尝试加载已编译的模块时,它无法导入它。

不幸的是,一个错误(可能在 swig 中)导致另一个错误被抛出,因此您看不到导入失败的异常。要查看导入错误,请删除 modern/xapian.py 的第 27 行;即,将其从阅读中更改:

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-bindings 的,你在什么平台上,或者你正在使用什么版本的 Xapian,所以我无法推测你是如何进入这种状态的。希望完整的例外会有所启发。

于 2010-10-14T18:55:09.547 回答