xapian-bindings python兼容性

时间:2010-10-14 18:03:13

标签: python swig xapian

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

我一直遇到这个错误:

  
    
      

导入xapian       Traceback(最近一次调用最后一次):         文件“”,第1行,in         文件“/home/x/lib/python2.6/xapian/init.py”,第28行,在           _xapian = swig_import_helper()         在swig_import_helper中输入文件“/home/x/lib/python2.6/xapian/init.py”,第27行           return _mod       UnboundLocalError:在赋值之前引用的局部变量'_mod'

    
  

我安装了最新版本的swig并重新安装了xapian核心和xapian绑定,但错误仍然存​​在。

非常感谢任何想法。

1 个答案:

答案 0 :(得分: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绑定的,你正在使用什么平台,或者你正在使用什么版本的Xapian,所以我无法真正推测你是如何进入这种状态的。希望完整的例外情况具有启发性。