Pocketsphinx 导入值错误
我最近在我的Mac上安装了pocketsphinx模块,系统是Lion,使用的是Python 2.7.3(不是苹果自带的Python,而是通过Homebrew安装的)。我尝试运行以下代码:
import pocketsphinx as p
decoder = p.Decoder(jsgf='/path_to_jsgf_file/grammar.jsgf',samprate='8000')
fh = open('myrecording.wav', 'rb')
nsamp = decoder.decode_raw(fh)
print 'You said,', hyp
print 'Your score was', score
但是,当我运行import pocketsphinx as p :
时,出现了这个错误:
Traceback (most recent call last):
File "speech_reco.py", line 4, in <module>
import pocketsphinx as p
File "sphinxbase.pxd", line 150, in init pocketsphinx (pocketsphinx.c:7935)
ValueError: PyCapsule_GetPointer called with invalid PyCapsule object
不过,当我第二次运行导入命令时,它就能正常工作了。因此,现在我在这里使用了一个try-catch来跳过这个错误。但我不确定这样做是否有效。
这个问题似乎之前也出现过,相关讨论可以在这个链接找到:http://sourceforge.net/p/cmusphinx/bugs/284/
有没有人解决过这个问题?如果没有,使用try-catch来处理这个错误是否合适呢?
1 个回答
1
有没有人解决这个问题了?如果没有,使用try-catch能否绕过这个错误呢?
这个Cython的问题在后来的版本中已经修复了。
如果没有,使用try-catch能否绕过这个错误呢?
解决这个错误的正确方法是用Cython重新创建粘合代码。错误报告中的最后一条消息提到: