我正在尝试在ROS中运行python代码,它包含一个我必须点安装的模块(不是ROS专用的模块)。当我尝试在roscore运行的情况下在我的catkin工作区中运行代码时,它找不到我安装的模块,并给我ImportError。关于如何使用rospy在ROS上运行已创建的模块的任何想法?
答案 0 :(得分:1)
这是3个选项。他们都应该工作,并且要有序。
您可以像在ros numpy tutorial中一样将该模块添加到package.xml中。
<build_depend>python-numpy</build_depend>
<run_depend>python-numpy</run_depend>
在.bashrc中设置$ PTYHONPATH环境变量:
export PYTHONPATH=$PYTHONPATH:/path/to/your/package_or_module
在将模块导入python代码之前,先注入模块的路径:
import sys
sys.path.insert(0, "/path/to/your/package_or_module")
在运行程序之前,将.bashrc和catkin工作区资源化。
如果您尝试使用rosrun package_name filename.py
,则需要确保该文件是可执行文件:
chmod +x pythonfile.py
,并且python文件的顶部应具有以下代码:
#!/usr/bin/env python
考虑直接使用python运行类似提到的akshayk07这样的文件
python filename.py