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

ROS新手求助:rosrun无法找到Python可执行文件talker.py

解决ROS Noetic中rosrun找不到Python可执行文件的问题

针对你遇到的couldn't find executable named错误,结合ROS Noetic(Python3)的配置要求,按以下步骤修改配置:

1. 检查Python脚本的Shebang行

确保talker.py的第一行是针对Python3的声明,避免系统调用Python2:

#!/usr/bin/env python3

你已设置权限(chmod +x),这一步确认即可。

2. 修改CMakeLists.txt配置

针对Python脚本,需要在ros_test包的CMakeLists.txt中添加安装规则,让catkin将脚本部署到rosrun能识别的路径:

关键配置片段:

# 1. 确保已找到rospy等依赖
find_package(catkin REQUIRED COMPONENTS
  rospy
  std_msgs  # 若你的talker用到该消息包则保留,否则可移除
)

# 2. 声明catkin包依赖
catkin_package(
  CATKIN_DEPENDS rospy std_msgs
)

# 3. 安装Python可执行文件到指定目录
catkin_install_python(PROGRAMS src/talker.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
  • PROGRAMS后的路径要和talker.py实际位置完全对应(你这里是ros_test/src/talker.py,所以写src/talker.py)。
  • 若后续将脚本移到ROS推荐的scripts目录,则改成scripts/talker.py。

3. 重新编译并更新环境

回到ROS工作空间根目录,执行以下命令:

# 编译包
catkin_make
# 若安装了catkin_tools,也可执行:catkin build ros_test

# 更新环境变量
source devel/setup.bash

4. 验证配置是否生效

  • 执行rospack find ros_test,确认能输出包的正确路径。
  • 查看devel/lib/ros_test/目录,确认talker.py已被安装到此处。
  • 再次尝试运行:rosrun ros_test talker.py

额外排查点

  • 确认package.xml中已添加Python依赖:
    <exec_depend>python3-rospy</exec_depend>
    
  • 检查ROS_PACKAGE_PATH是否包含你的工作空间:
    echo $ROS_PACKAGE_PATH
    
    输出应包含你的工作空间路径/src。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 07:28:15