环境:ubuntu20.04,ros noetic
问题:
自己写的包tools.py放在与程序main.py相同的文件夹scripts下,在main.py中调用:
import tools
运行程序 rosrun pkg main.py
报错:no module named tools
原因:
rosrun在执行时参考的是当前工作空间的路径,而非scripts的路径,如果换成python3 main.py就不会报错,这是因为此刻执行的是ws/src/pkg/scripts的路径
解决方法:
事先声明调用的路径:
import os
import sys
path = os.path.abspath(".")
sys.path.insert(0,path+"src/pkg/scripts")
import tools
再rosrun即可成功调用