鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    找不到可执行文件

    已定时 已固定 已锁定 已移动
    ROS 2相关问题
    可执行文件lib ros2
    2
    2
    380
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • L
      lvan-tan
      最后由 编辑

      an@ubuntu:~/chat2_cpp/chapt2_ws$ ros2 run demo_python_pkg person_node
      /opt/ros/foxy/bin/ros2:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
      from pkg_resources import load_entry_point
      No executable found

      1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        出现这个错误通常意味着 ROS 2 无法找到名为 demo_python_pkg 的包中的 person_node 可执行文件。这可能是由于以下几个原因:

        1. 包未正确安装或构建:确保你的包 demo_python_pkg 已经被正确安装并且已经构建。如果你正在使用 ROS 2 Foxy,你可以使用以下命令来构建你的工作空间:

          colcon build --packages-select demo_python_pkg
          
        2. 可执行文件未定义:检查你的 setup.py 或 CMakeLists.txt 文件(取决于你的包是使用 Python 还是 C++ 编写的),确保你已经定义了一个名为 person_node 的可执行文件。

          • 对于 Python 包,确保在 setup.py 中有一个 entry_points 部分,如下所示:
            entry_points={
                'console_scripts': [
                    'person_node = demo_python_pkg.person_node:main',
                ],
            },
            
          • 对于 C++ 包,确保在 CMakeLists.txt 中有相应的 add_executable 和 ament_target_dependencies 调用。
        3. 工作空间未正确设置:确保你的工作空间已经被正确设置。首先,确保你在工作空间的根目录下(在这个例子中是 ~/chat2_cpp/chapt2_ws),然后运行:

          source install/setup.bash
          

          这将会设置环境变量,使得 ROS 2 可以找到你的包。

        4. 环境变量问题:确保 ROS_PACKAGE_PATH 环境变量包含了你的工作空间。你可以通过运行 echo $ROS_PACKAGE_PATH 来检查这个变量。

        5. 重新构建并清理工作空间:有时候,旧的构建文件可能会导致问题。尝试清理你的工作空间并重新构建:

          colcon build --packages-select demo_python_pkg --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
          # 或者,如果你想完全清理
          rm -rf build/ install/ log/
          colcon build --packages-select demo_python_pkg
          
        6. 检查包的依赖:确保所有必要的依赖都已经正确安装。对于 Python 包,这通常意味着所有在 install_requires 或 extras_require 中列出的包都已经被安装。

        如果上述步骤都无法解决问题,你可能需要检查你的代码是否有语法错误或其他问题,这可能导致构建失败或可执行文件未被正确生成。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

        1 条回复 最后回复 回复 引用 0
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS