0

我正在尝试在我的 Pepper 上构建一个聊天机器人应用程序。为此,我计划首先使用 Pepper 语音识别模块来检测句子并获取文本。

这是链接:https ://github.com/JBramauer/pepperspeechrecognition

实际上,如果我将语音识别模块的整个目录放在 Pepper 上,通过 ssh 连接到它并同时运行 module_speechrecognition.py 和 module_receiver.py,机器人确实会得到正确的文本。但是现在,我想在 Choregraphe 上使用这个模块,以便最终构建一个应用程序。因此,我在 Choregraphe 的项目文件中添加了相同的目录,并将其路径添加到 sys.path 以便可以从该目录导入内容。但是,我不知道下一步该做什么。我尝试在 Choregraphe 的 python 框中执行“import module_speechrecognition”,但出现错误提示:

from google import Recognizer, UnknownValueError, RequestError

ImportError:无法导入名称识别器

是的,在module_speechrecogniton.py中,导入了同目录下的其他python文件。我想module_speechrecogniton.py 中应该有一些修改。那么,我该怎么做才能在 Choregraphe 中运行这个模块,就像我在 Pepper 上使用 Putty 所做的一样?

更新:我在我的目录中添加了一个空的 __init__.py 文件并使用

from pepperspeechrecognition_master import module_speechrecognition
module_speechrecognition.main()

但又出现了另一个错误。

[ERROR] behavior.box :_safeCallOfUserMethod:125 _Behavior__lastUploadedChoregrapheBehaviorbehavior_11647009840:/Python Script_1: 
Traceback (most recent call last):  
File "/opt/aldebaran/lib/python2.7/site-packages/albehavior.py", line 115, in _safeCallOfUserMethod     func()   
File "<string>", line 16, in onInput_onStart   
File "/home/nao/.local/share/PackageManager/apps/.lastUploadedChoregrapheBehavior/behavior_1/../pepperspeechrecognition_master/module_speechrecognition.py", line 456, in main     (opts, args_) = parser.parse_args()   
File "/usr/lib/python2.7/optparse.py", line 1381, in parse_args     rargs = self._get_args(args)   
File "/usr/lib/python2.7/optparse.py", line 1363, in _get_args     
return sys.argv[1:] AttributeError: 'module' object has no attribute 'argv' 
4

1 回答 1

1

尝试在 Models 目录中创建一个名为的文件__init__.py,以便 python 将其视为一个模块。

检查此其他帖子:链接

于 2019-08-23T05:22:39.753 回答