You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ROS Noetic下运行Python版Hello World报错,求正确实现方法

错误原因
  • 代码语法错误:Python判断入口函数的魔法变量为前后各两个下划线的__name__和__main__,你写的是双横线,属于基础语法错误
  • 执行指令错误:ROS运行节点的指令为rosrun,你输入的runros是错误拼写
  • 脚本缺少解释器声明:你写的Python脚本没有在首行指定Python解释器,系统会默认将其识别为shell脚本执行,因此会报import command not found、Python语法不被识别的错误
  • 不符合ROS节点规范:你没有初始化ROS节点,也没有使用ROS自带的日志输出接口。
正确ROS Noetic Hello World实现步骤

1. 前置环境校验

确保你已经在ROS工作空间的src目录下创建了依赖rospy的功能包,未创建的话执行以下指令:

cd ~/你的工作空间名/src
catkin_create_pkg mypackagename rospy std_msgs
cd ~/你的工作空间名
catkin_make
source devel/setup.bash

2. 编写节点代码

在mypackagename目录下新建scripts文件夹(不存在的话手动创建),在scripts内新建helloWorld.py,写入以下内容:

#!/usr/bin/env python3
# 指定Python3解释器,ROS Noetic默认适配Python3
import rospy

if __name__ == "__main__":
    # 初始化ROS节点,节点名全局唯一
    rospy.init_node("hello_world_test_node")
    # ROS日志打印,会自动带时间戳、节点名标识,比普通print更符合ROS规范
    rospy.loginfo("Hello World")

3. 配置权限与编译

  • 给Python脚本添加可执行权限:
    chmod +x ~/你的工作空间名/src/mypackagename/scripts/helloWorld.py
  • 打开mypackagename下的CMakeLists.txt,找到catkin_install_python配置段,取消注释后修改为:
catkin_install_python(PROGRAMS
  scripts/helloWorld.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
  • 回到工作空间根目录重新编译:
cd ~/你的工作空间名
catkin_make
source devel/setup.bash

4. 运行测试

  • 第一个终端启动ROS核心:
    roscore
  • 第二个终端执行节点运行指令:
    rosrun mypackagename helloWorld.py
    运行后终端会输出带[INFO]标识的Hello World日志,即为运行成功。

内容的提问来源于stack exchange,提问作者Aguilo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 19:45:03