ROS交流群
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
ROS Group 产品服务
Product Service 开源代码库
Github 官网
Official website 技术交流
Technological exchanges 激光雷达
LIDAR ROS教程
ROS Tourials 深度学习
Deep Learning 机器视觉
Computer Vision
ROS运行python脚本报错: No module named srv
-
调试一个python脚本时,突然报错
ImportError: No module named srv under tf2_msgs
机器已经安装了ros jade完整版,在/opt/ros/jade/lib/python2.7/dist-packages/tf2_msgs目录下也有srv目录,应该没问题的。
google一番,发现有人反应是python包名字问题(http://www.aichengxu.com/view/75748),但tf2_msgs是官方包,自然不存在这个问题。
回想一下今天对系统的改动,白天升级了一下jade版本的tf2包,但因为bullet依赖问题,升级到一半就放弃了(这个依赖问题可以参考http://answers.ros.org/question/220676/how-to-install-bullet-on-indigo-in-ubuntu/)。
重新catkin_make 了下ros工作目录,然后仔细翻看了一下ros工作目录的devel目录,发现/home/xiaoqiang/Documents/ros/devel/lib/python2.7/dist-packages目录下竟然还有tf2_msgs文件夹,但里面没有srv目录。
所以找到问题根源了一个ROS python包即使从工作目录删除了,catkin_make命令也不会删除之前残留在devel目录下的文件夹 rosrun 和 roslaunch 运行节点程序时,优先查找用户工作目录,导致尝试从一个残留文件夹加载运行文件,这就导致了开头的问题