赞
踩
ros中经常用到python脚本,而python解释器我们可能安装了很多(由于conda创建了很多环境,每种环境下的包都是分别管理的),如果用了不匹配的python解释器,程序编译运行时就会缺少相应的包,简单记录一下操作:
- ll /usr/bin/python*
- sudo ln -s ~/anaconda3/envs/points/bin/python3.9 /usr/bin/python
- sudo rm /usr/bin/python3
- #操作一:前提是你已经建立了软连接
- catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python
-
- #操作二:不用建立软连接,但是要在你的python环境下,安装ros编译工具(推荐)
- pip install empy
- pip install rospkg catkin_pkg
这行命令通常是写在.py脚本第一行的,指定运行该文件的解释器是谁,/usr/bin/python就是我们创建的软连接是告诉操作系统执行这个脚本的时候,调用 /usr/bin 下的 python 解释器。这句代码是写死了python的路径的,即一定是找到/usr/bin下的解释器来运行程序。与前两种方式不同的是,这个是对但个python文件进行指定,也就是说,如果不写这行,ros就会按照我们指定的python环境统一编译。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。