(1)不要将python文件放入scr目录中,否则后续编译工作空间会报如图所示的错误。首先要在功能包文件夹(catkin_ws/src/learnning_topic)中创建一个scripts(文件夹名可任意,但默认为scripts)目录来存放python脚本文件
![](https://img-blog.csdnimg.cn/img_convert/f1a57a7f6c9dfef65fad9763161e5b51.png)
(2)
方法一
①通过软链接将python链接到python3:
sudo ln -s /usr/bin/python3 /usr/bin/python #链接一次即可
②要给我们即将要运行的python脚本赋予执行权限
方式一:从文件中进入到python脚本所在位置,右键文件->选择属性->权限->勾选把允许作为程序执行文件
方式二:使用命令行,cd到该python脚本的路径下,然后输入以下命令:
$ chmod +x name.py
![](https://img-blog.csdnimg.cn/img_convert/4fa12325b9ffae624d54cdeda58b0e32.png)
方法二:
①直接声明解释器为python3:
![](https://img-blog.csdnimg.cn/img_convert/935345ad6915e55c09740c69e5626963.png)
②要给我们即将要运行的python脚本赋予执行权限
方式一:从文件中进入到python脚本所在位置,右键文件->选择属性->权限->勾选把允许作为 程序执行文件
方式二:使用命令行,cd到该python脚本的路径下,然后输入以下命令:
$ chmod +x name.py
![](https://img-blog.csdnimg.cn/img_convert/4fa12325b9ffae624d54cdeda58b0e32.png)
方法三:
①.将以下内容添加到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文件了
![](https://img-blog.csdnimg.cn/img_convert/03a9d8a7fc521e50ae0b1aff5a0daaf8.png)
(5)最后运行roscore和运行时所依赖的功能包我们的python文件就能运行了
![](https://img-blog.csdnimg.cn/img_convert/c10ac7e0d1f7be5ccc97b43c1fb6144b.png)