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

    python功能包节点运行ros2 run demo_python_dpkg python_node时找不到名为“demo_python_pkg.python_node”的module

    已定时 已固定 已锁定 已移动
    ROS2机器人开发:从入门到实践
    python节点 功能包内文件夹引用问题
    2
    5
    595
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 2
      2208735873
      最后由 编辑

      python功能包节点运行ros2 run demo_python_dpkg python_node时找不到名为“demo_python_pkg.python_node”的module

      dw@dw:~/codes/chapt2$ ros2 run demo_python_pkg python_node
      Traceback (most recent call last):
      File "/home/dw/codes/chapt2/install/demo_python_pkg/lib/demo_python_pkg/python_node", line 33, in <module>
      sys.exit(load_entry_point('demo-python-pkg==0.0.0', 'console_scripts', 'python_node')())
      File "/home/dw/codes/chapt2/install/demo_python_pkg/lib/demo_python_pkg/python_node", line 25, in importlib_load_entry_point
      return next(matches).load()
      File "/usr/lib/python3.10/importlib/metadata/init.py", line 171, in load
      module = import_module(match.group('module'))
      File "/usr/lib/python3.10/importlib/init.py", line 126, in import_module
      return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
      ModuleNotFoundError: No module named 'demo_python_pkg.python_node'
      [ros2run]: Process exited with failure 1

      这种情况该如何解决

      2 1 条回复 最后回复 回复 引用 0
      • C
        casketaaa
        最后由 编辑

        source了吗

        2 1 条回复 最后回复 回复 引用 0
        • 2
          2208735873 @casketaaa
          最后由 编辑

          @casketaaa source过了,环境变量的路径是没有问题的
          dw@dw:~/codes/chapt2$ echo $AMENT_PREFIX_PATH
          /home/dw/codes/chapt2/install/demo_python_pkg:/opt/ros/humble

          1 条回复 最后回复 回复 引用 0
          • 2
            2208735873 @2208735873
            最后由 编辑

            @2208735873 已解决
            ls install/demo_python_pkg/lib/python3.10/site-packages/demo_python_pkg/
            此命令查看功能包下无python_node.py文件,有__init__.py文件和__pycache__文件夹,init.py文件是空的。我的解决方法是在此路径下新建一个python_node.py文件,把创建节点语句复制进去,然后运行ros2 run demo_python_dkg python_node命令即可正常运行。但是为何此路径下没有python_node.py文件我尚未可知,希望有大佬遇到类似的问题可以在补充交流。

            参考以下话题:https://fishros.org.cn/forum/topic/3496/ros2-包组织python节点失败

            2 1 条回复 最后回复 回复 引用 0
            • 2
              2208735873 @2208735873
              最后由 编辑

              @2208735873 回去重新看了一下,python_node.py文件创建错了位置,应该在demo_python_pkg/demo_python_pkg文件下。
              犯了很低级的错误

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