最近碰上了一个奇葩的python包导入的错误
包的结构是这样的
但说其奇葩,主要原因在于使用以下语句
from moveit.msgs import msg
出现了ImportError:File “/home/XXX/XXX/src/robot_marm/marm_planning/scripts/moveit_obstacles_demo.py”,No module named msg
检查环境变量与google后无果,后请教组内大佬,大佬提出了一个有些暴力的方法。
主要思路是:由于python最先参考当前路径下的包,故将整个moveit_msgs库复制粘贴到该文件夹中,最后成功解决了问题。
导致问题的原因,具体猜想就是先前学习gym_gazebo等乱七八糟的东西的过程中,无意把同名的moveit_msgs的包也弄到了python的环境变量中,考虑到后续的使用,这个错误的路径应当加以调整,但最近要忙于互联网+与其他项目,先这样凑合着用了。
更新一下:这个问题太麻烦了,还是得想办法尽快解决掉对此我通过以下方案解决了问题
import moveit_msgs
print(moveit_msgs)
通过上述两条语句得到python所认为的moveit_msgs的库的位置之后,修改环境变量或删除修改该包,最终解决问题