(1)不要将python文件放入scr目录中,否则后续编译工作空间会报如图所示的错误。首先要在功能包文件夹(catkin_ws/src/learnning_topic)中创建一个scripts(文件夹名可任意,但默认为scripts)目录来存放python脚本文件

(2)
方法一
①通过软链接将python链接到python3:
sudo ln -s /usr/bin/python3 /usr/bin/python #链接一次即可
②要给我们即将要运行的python脚本赋予执行权限
方式一:从文件中进入到python脚本所在位置,右键文件->选择属性->权限->勾选把允许作为程序执行文件
方式二:使用命令行,cd到该python脚本的路径下,然后输入以下命令:
$ chmod +x name.py

方法二:
①直接声明解释器为python3:

②要给我们即将要运行的python脚本赋予执行权限
方式一:从文件中进入到python脚本所在位置,右键文件->选择属性->权限->勾选把允许作为 程序执行文件
方式二:使用命令行,cd到该python脚本的路径下,然后输入以下命令:
$ chmod +x name.py

方法三:
①.将以下内容添加到CMakeLists.txt文件中,确保正确安装Python脚本,并使用合适的Python解释器:
catkin_install_python(PROGRAMS
scripts/pose_subscriber.py #代码文件夹/py文件名
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
多个python文件则为:
catkin_install_python(PROGRAMS
scripts/pose_subscriber.py scripts/velocity_publisher.py #代码文件夹/py文件名 代码文件夹/py文件名
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
②.在工作空间的根目录下使用catkin_make命令编译整个工作空间,:
cd ~/catkin_ws/
catkin_make
(3)使用source命令运行这些脚本文件,则工作空间中的环境变量可以生效:
cd ~/catkin_ws/
source devel/setup.bash
或者输入下述命令将source命令放入.bashrc文件中,就不需要运行python文件输入上述命令:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
(4)此时已经能找到我们python文件了

(5)最后运行roscore和运行时所依赖的功能包我们的python文件就能运行了
