出现ImportError:无法在ROS中导入名称SRV

时间:2020-02-19 01:36:44

标签: python server python-import ros

我有一个ROS服务器MY_Warning,文件node/srv/MY_Warning.srv包含:

typ1 var1
typ2 var2                                                                                                                                                                                                                                                                  
---                                                                                                                                                                                                                                                                             
typ3 var3 

node/src/subdir/main.py(包含服务器)中,我有from node.srv import MY_Warning, MY_WarningResponse,但我得到了:

    from node.srv import MY_Warning, MY_WarningResponse
ImportError: cannot import name EOR_Warning

rossrv show MY_Warning告诉我正确/预期的事情:

$ rossrv show MY_Warning
[node/MY_Warning]:
typ1 var1
typ2 var2
---
typ3 var3

我在这里想念或做错了什么?我不明白...

2 个答案:

答案 0 :(得分:1)

我想念什么吗?导入的丢失错误和导入语句不匹配。错误消息中的模块不是一个导入的模块

答案 1 :(得分:0)

我遇到了同样的错误。在其他问题中,错误的路径是一个命名问题。即使出现错误EOR_Warning,也不要以为是这种情况,您应该得到My_Warning。

检查ls devel/include/node/的输出量。您能看到标题吗?

尝试:

catkin_make clean
catkin_make --only-pkg-with-deps node
rosrun node main.py

然后重试导入ROS服务。这解决了我的问题。