Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:AttributeError:';模块';对象没有属性,这是不真实的_Python_Pocketsphinx - Fatal编程技术网

Python:AttributeError:';模块';对象没有属性,这是不真实的

Python:AttributeError:';模块';对象没有属性,这是不真实的,python,pocketsphinx,Python,Pocketsphinx,我想做什么: 我想导入一个python模块(pocketsphinx)并使用Decoder属性的输出。然而,当我尝试使用它时,我被告知模块属性“Decoder”不存在 decoder = Decoder(configSwitches) 然而,它确实存在,这正是它如此奇怪的原因 到目前为止我所做的: 当我打开python控制台并输入import-pocketsphinx时,它导入时没有任何问题。运行pocketsphinx。文件返回: '/usr/local/lib/python2.7/dist

我想做什么:

我想导入一个python模块(pocketsphinx)并使用Decoder属性的输出。然而,当我尝试使用它时,我被告知模块属性“Decoder”不存在

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软件包。但是,我对此不确定。