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

    使用vscode编写第一个节点报错(python实例)

    已定时 已固定 已锁定 已移动
    动手学ROS2
    vscode ros2 foxy
    2
    4
    352
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 1
      1063375074
      最后由 编辑

      设备:jetson nano
      架构:arm64
      Ubuntu版本:20.04
      ros2版本: ros2 foxy
      实例代码:
      import rclpy
      from rclpy.node import Node

      def main():
      rclpy.init()
      node = Node('pythono_node')
      rclpy.spin(node)
      rclpy.shutdown()

      if name=='main':
      main()
      终端编写方式:(base) bd215@ubuntu:~/chapt2$ python3 ros2_node.py
      终端报错:
      Traceback (most recent call last):
      File "/home/bd215/chapt2/ros2_node.py", line 2, in <module>
      from rclpy.node import Node
      File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/node.py", line 42, in <module>
      from rclpy.client import Client
      File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/client.py", line 22, in <module>
      from rclpy.impl.implementation_singleton import rclpy_implementation as _rclpy
      File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/impl/implementation_singleton.py", line 31, in <module>
      rclpy_implementation = _import('._rclpy')
      ^^^^^^^^^^^^^^^^^^
      File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/impl/init.py", line 28, in _import
      return importlib.import_module(name, package='rclpy')
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/home/bd215/mambaforge/lib/python3.12/importlib/init.py", line 90, in import_module
      return _bootstrap._gcd_import(name[level:], package, level)
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      ModuleNotFoundError: No module named 'rclpy._rclpy'
      The C extension '/opt/ros/foxy/lib/python3.8/site-packages/rclpy/_rclpy.cpython-312-aarch64-linux-gnu.so' isn't present on the system. Please refer to 'https://index.ros.org/doc/ros2/Troubleshooting/Installation-Troubleshooting/#import-failing-without-library-present-on-the-system' for possible solutions

      小鱼小 1 条回复 最后回复 回复 引用 0
      • 小鱼小
        小鱼 技术大佬 @1063375074
        最后由 编辑

        @1063375074 在 使用vscode编写第一个节点报错(python实例) 中说:

        终端编写方式:(base) bd215

        conda 退出来

        新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

        1 1 条回复 最后回复 回复 引用 0
        • 1
          1063375074 @小鱼
          最后由 1063375074 编辑

          @小鱼 我通过更改python优先级后将python的版本改为3.8后解决了问题
          sudo update-alternatives --install /home/bd215/mambaforge/bin/python python /home/bd215/mambaforge/bin/python3.12 1
          sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
          sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 3
          sudo update-alternatives --config python
          我更改优先级后,可以顺利运行节点程序,再次打开终端,base前缀就消失了
          终端运行所以conda指令均报错,
          bd215@ubuntu:~$ conda -V
          bash: /home/bd215/mambaforge/bin/conda: /home/bd215/mambaforge/bin/python: bad interpreter: No such file or directory
          大佬这个怎么解决

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

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