在Windows下对某个Python文件进行修改后,放到Ubuntu环境下运行时报错/usr/bin/env: “python3\r”: 没有那个文件或目录 failed to start local process,如下所示

/usr/bin/env: “python3\r”: 没有那个文件或目录 failed to start local process:
/home/gly/catkin_ws/src/multi-robot-rrt-exploration-noetic-main-waffle_pi/rrt_exploration/scripts/simulate_rviz_clicks.py __name:=simulate_rviz_clicks __log:=/home/gly/.ros/log/39f68a8c-0d6e-11f0-a654-135ca065efc1/simulate_rviz_clicks-1.log
local launch of rrt_exploration/simulate_rviz_clicks.py failed
[simulate_rviz_clicks-1] process has died [pid -1, exit code 127, cmd
/home/gly/catkin_ws/src/multi-robot-rrt-exploration-noetic-main-waffle_pi/rrt_exploration/scripts/simulate_rviz_clicks.py __name:=simulate_rviz_clicks __log:=/home/gly/.ros/log/39f68a8c-0d6e-11f0-a654-135ca065efc1/simulate_rviz_clicks-1.log].
log file:
/home/gly/.ros/log/39f68a8c-0d6e-11f0-a654-135ca065efc1/simulate_rviz_clicks-1*.log

在这里插入图片描述

   该报错说明 Python 脚本文件 simulate_rviz_clicks.py 中可能存在 Windows 风格的换行符(\r\n),而 Linux 系统需要使用 Unix 风格的换行符(\n)。这个问题通常是因为文件在 Windows 环境中创建或编辑后直接被传输到 Linux 系统。

   所以,可以使用dos2unix工具来检查并修复换行符,如果之前没有安装过该工具,可以使用如下指令安装

sudo apt install dos2unix

   然后直接使用dos2unix 后面跟要检查和修复的文件路径及文件名即可,如下面的示例所示

dos2unix /home/gly/catkin_ws/src/multi-robot-rrt-exploration-noetic-main-waffle_pi/rrt_exploration/scripts/simulate_rviz_clicks.py

   转换完成后,就可以正常运行了,该方法亲测简单有效,推荐使用

在这里插入图片描述


其他解决方法:

如果没有安装 dos2unix 工具,也可以使用 sed 命令来移除文件中的 Windows 换行符:

sed -i 's/\r//' /home/gly/catkin_ws/src/multi-robot-rrt-exploration-noetic-main-waffle_pi/rrt_exploration/scripts/simulate_rviz_clicks.py

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐