gpt4 book ai didi

ROS catkin 工作区中的 Python 模块和子模块

转载 作者:太空宇宙 更新时间:2023-11-04 04:39:13 26 4
gpt4 key购买 nike

我正在尝试在 ROS 中运行 python 代码,它包含一个我必须 pip 安装的模块(不是为 ROS 制作的模块)。当我尝试在 roscore 运行的情况下在我的 catkin 工作区中运行代码时,它找不到我安装的模块并给我一个 ImportError。关于如何使用 rospy 在 ROS 上运行已经创建的模块有什么想法吗?

最佳答案

确保你能找到模块

这里有 3 个选项。它们都应该工作并且按照 hackiness 的顺序排列。

  1. 您可以像这样将模块添加到 package.xml ros numpy tutorial .

    <build_depend>python-numpy</build_depend>    
    <run_depend>python-numpy</run_depend>
  2. 在 .bashrc 中设置 $PTYHONPATH 环境变量:

    export PYTHONPATH=$PYTHONPATH:/path/to/your/package_or_module
  3. 在您的 python 代码中导入模块之前,先注入(inject)模块路径:

    import sys
    sys.path.insert(0, "/path/to/your/package_or_module")

确保您正确运行程序

  1. 在运行程序之前为您的 .bashrc 和 catkin 工作空间分配资源。

  2. 如果您尝试使用 rosrun package_name filename.py,那么您需要确保该文件是可执行文件:

    chmod +x pythonfile.py

    python文件的顶部应该有代码:

    #!/usr/bin/env python
  3. 考虑像akshayk07提到的那样直接使用python运行文件

    python filename.py

关于ROS catkin 工作区中的 Python 模块和子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51031359/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com