本文参考了Pycharm导入ROS自定义消息包_新版pycharm 添加ros python 库-优快云博客
问题描述:
第一次写自己的ROS的action通讯,Pycharm、VSCode显示找不到我的包action_demo,也显示了无法import生成的.msg文件:

但是catkin_build是正常的,rosrun这个包也是正常的。这说明:仅仅是Pycharm这个IDE找不到我的.msg文件在哪。
解决办法:
先找到通过.action文件生成的我的自定义消息包:

可以看到,我的消息包都正常生成了。现在,类似于大家一开始import rospy也会提示找不到一样,将对应的这个dist-packages文件给加到Pycharm编译器路径即可。

Pycharm界面右下角处的解释器,点击“解释器设置”

点击“全部显示”

点击红色圈圈的图标

可以看到我原先已经添加过ros的路径了,现在点击+,添加我的action消息包地址


结束!报错消失:

我一开始遇到这个报错还有点奇怪,为什么当我按照ROS官方教程cn/actionlib_tutorials/Tutorials/Writing a Simple Action Client (Python) - ROS Wiki
来写一个python的action客户端时,没有出现问题,而到了我写我自己的action文件就会出问题呢?

因为ROS教程上的actionlib_tutorials包要用到相关消息包已经全部连同着当时下载ros时一起下载到ros的路径里了,所以因为我之前已经把ros的路径加到Pycharm的解释器路径里了,所以pycharm能正常识别到。

同理,VSCode也是类似的。
如下图:


光标放到红线上面,点击出现的“快速修复”

点击“编辑includePath设置”

我们之后可能还会创建其他action文件,所以方便起见,我们把include以下的路径统统包含进来:


ok,记得在include后面加上 /** ,表示将它所有的子目录(包括了我们camera_drive_pkg这个包的action文件)都统统纳入VSCode的路径。
4281

被折叠的 条评论
为什么被折叠?



