我正在尝试在 ROS 中运行 python 代码,它包含一个我必须 pip 安装的模块(不是为 ROS 制作的模块)。当我尝试在运行 roscore 的 catkin 工作区中运行代码时,它找不到我安装的模块并给我一个 ImportError。关于如何使用 rospy 在 ROS 上运行已经创建的模块的任何想法?
问问题
2378 次
1 回答
1
确保您可以找到该模块
这里有 3 个选项。他们都应该工作并且是为了hackiness。
您可以像在这个ros numpy 教程中一样将模块添加到 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
于 2018-06-27T17:32:21.807 回答