Python:AttributeError:';模块';对象没有属性,这是不真实的
我想做什么: 我想导入一个python模块(pocketsphinx)并使用Decoder属性的输出。然而,当我尝试使用它时,我被告知模块属性“Decoder”不存在Python:AttributeError:';模块';对象没有属性,这是不真实的,python,pocketsphinx,Python,Pocketsphinx,我想做什么: 我想导入一个python模块(pocketsphinx)并使用Decoder属性的输出。然而,当我尝试使用它时,我被告知模块属性“Decoder”不存在 decoder = Decoder(configSwitches) 然而,它确实存在,这正是它如此奇怪的原因 到目前为止我所做的: 当我打开python控制台并输入import-pocketsphinx时,它导入时没有任何问题。运行pocketsphinx。文件返回: '/usr/local/lib/python2.7/dist
decoder = Decoder(configSwitches)
然而,它确实存在,这正是它如此奇怪的原因
到目前为止我所做的:
当我打开python控制台并输入import-pocketsphinx
时,它导入时没有任何问题。运行pocketsphinx。文件返回:
'/usr/local/lib/python2.7/dist-packages/pocketsphinx-0.0.8-py2.7-linux-armv7l.egg/pocketsphinx/______.pyc'
查看'/usr/local/lib/python2.7/dist软件包/pocketsphinx-0.0.8-py2.7-linux-armv7l.egg/pocketsphinx/uu init_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu.py'
,我看到:来自pocketsphinx导入*
当我返回到/usr/local/lib/python2.7/dist packages/pocketsphinx/pocketsphinx.py
并在文本编辑器中打开它时,我看到pocketsphinx.py确实有一个解码器类,其中包含大量已定义的方法
我的问题:
我还可以采取哪些其他步骤来诊断我使用pocketsphinx模块的问题
下面是我在深入研究该项目之前尝试运行的示例代码:
import pocketsphinx
hmmd = r"/home/michael/Desktop/sphinxASR/pocketsphinx-5prealpha/model/en-us/en-us"
lmdir = r"/home/michael/Desktop/sphinxASR/pocketsphinx-5prealpha/model/en-us/en-us.lm.bin"
dictp = r"/home/michael/Desktop/sphinxASR/pocketsphinx-5prealpha/model/en-us/cmudict-en-us.dict"
fileName = r'/home/michael/Desktop/sphinxASR/voice_message.wav'
if __name__ == "__main__":
wavFile = open(fileName, "rb")
speechRec = pocketsphinx.Decoder(hmm=hmmd, lm=lmdir, dictionary=dictp)
wavFile.seek(44)
speechRec.decode_raw(wavFile)
result = speechRec.get_hyp()
print(result)
堆栈跟踪:
Traceback (most recent call last):
File "/home/michael/PycharmProjects/27test/getHypTest.py", line 14, in <module>
speechRec = pocketsphinx.Decoder(lm=lmdir, dictionary=dictp)
AttributeError: 'module' object has no attribute 'Decoder'
回溯(最近一次呼叫最后一次):
文件“/home/michael/PycharmProjects/27test/getHypTest.py”,第14行,在
speechRec=pocketsphinx.Decoder(lm=lmdir,dictionary=dictp)
AttributeError:“模块”对象没有属性“解码器”
通过查看,您的导入应该是:
from pocketsphinx.pocketsphinx import *
诊断此问题的第一步是键入以下内容,以便查看导入的内容:
import pocketsphinx
dir(pocketsphinx)
通过查看,您的导入应该是:
from pocketsphinx.pocketsphinx import *
诊断此问题的第一步是键入以下内容,以便查看导入的内容:
import pocketsphinx
dir(pocketsphinx)
您应该从pocketsphinx导入解码器。 而不是
import pocketsphinx
尝试:
您应该从pocketsphinx导入解码器。 而不是
import pocketsphinx
尝试:
您是否尝试过从pocketsphinx导入*?@Delgan是的,这就是为什么我没有使用命令pocketsphinx.Decoder(ConfigSwitchs)。好的。我不知道,抱歉。你应该发布你正在运行的代码,这会给你带来错误。否则我们就不知道出了什么问题。听起来你的Pocketsphenx安装很糟糕。您不应该有两个pocketsphinx副本。您是否尝试从pocketsphinx导入*?@Delgan是的,这就是为什么我没有使用命令pocketsphinx.Decoder(ConfigSwitchs)。确定。我不知道,抱歉。你应该发布你正在运行的代码,这会给你带来错误。否则我们就不知道出了什么问题。听起来你的Pocketsphenx安装很糟糕。您不应该有两个pocketsphinx副本。dir(pocketsphinx)的结果是
[“\uuu内置项”、“\uu文档”、“\uuuu文件”、“\uuuu加载程序”、“\uuuu名称”、“\uuuu包”、“\uuu路径”]
此外,pocketsphinx.pocketsphinx导入返回的与pocketsphinx的结果一样,没有模块名[“内置”、“文档”、“文件”、“加载程序”、“名称”、“包”、“路径”]
另外,pocketsphinx.pocketsphinx导入返回的没有模块名pocketsphinx
,这同样奇怪。这只是返回没有模块名为pocketsphinx
,这甚至更奇怪。这很奇怪。这可能表明您还没有完全安装pocketsphinx包。但是,我不确定。这只是urns没有名为pocketsphinx的模块,这甚至更奇怪。这很奇怪。这可能表明您尚未完全安装pocketsphinx软件包。但是,我对此不确定。