ubuntu16.04环境下解决ros工作空间编译出现python版本问题导致编译失败(附带自由切换python版本)

博主一直在ros环境下工作,由于在电脑上装了anaconda3和深度学习框架pytorch,再次到ros的工作空间下编译时发现python报错。虽然我都是基于c++开发的,但是在ros的工作空间下会发现有python2.7的一个文件夹,在/devel/lib/python2.7/dist-packages路径下会出现工作空间的功能包,会有功能包使用的msg的.py文件,具体是干什么用的,没有搞清楚。下面开始找原因,解决问题。

由于ubutnu系统自带两个版本的python:Python2.7和python3.5,系统默认使用python2.7,安装完anaconda后,输入python命令,系统python版本不再是python2.7,而是变成了anaconda的版本,我怀疑是这个问题。回到宿舍我用自己的没有装anaconda的笔记本试了一下切换python版本,看看同样的工作空间编译是否会出错,将python2.7换成python3.5后发现果然报错了,然后切换回python2.7后发现又可以正常编译了!所以找到问题所在:由于系统的python版本更改了导致的
话不多说,下面直接上解决方法:

切换python版本

转载自https://blog.csdn.net/beijiu5854/article/details/77897767

对于ubuntu 16.04,由于本身是自带python,这样就减少了在windows下的下载和环境变量配置,非常不错。但是他本身是自带两个版本的python,2.X和3.X,两个版本,两个版本默认的是使用2.X,毕竟3.X是一个趋势,今后我这边应该也会主要使用3.X版本,所以这里记录一下如果在版本间切换以及如何把python版本切换到3.X下的方法。

注意:要以root身份操作

一: 确认本机下的python默认版本。调出终端,输入python即可查看默认的版本:
在这里插入图片描述
二:如果想要查看本机自带的python的另一个版本为多少,需要命令python3即可:
在这里插入图片描述
三: 如何切换这两个版本以及切换默认的python版本:

我们可以使用 update-alternatives 来为整个系统更改Python 版本。以 root 身份登录,首先罗列出所有可用的python 替代版本信息:

$ update-alternatives --list python
update-alternatives: error: no alternatives for python

如果出现以上所示的错误信息,则表示 Python 的替代版本尚未被update-alternatives 命令识别。想解决这个问题,我们需要更新一下替代列表,将python2.7 和 python3.5 放入其中。

$ update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1

输出 update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in auto mode

$ update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2

输出 update-alternatives: using /usr/bin/python3.4 to provide /usr/bin/python (python) in auto mode

ps:如果需要加入其他的python版本,只需输入下列命令

 $ update-alternatives --install /usr/bin/python python #其他版本python路径 1
 例如
 $ update-alternatives --install /usr/bin/python python /home/lzy/anaconda3/bin/python3.7 1

–install 选项使用了多个参数用于创建符号链接。最后一个参数指定了此选项的优先级,如果我们没有手动来设置替代选项,那么具有最高优先 级的选项就会被选中。这个例子中,我们为/usr/bin/python3.5 设置的优先级为2,所以update-alternatives 命令会自动将它设置为默认 Python 版本。

$ python --version

Python 3.5.2

接下来,我们再次列出可用的 Python 替代版本。

$ update-alternatives --list python

会出现下列输出

/usr/bin/python2.7
/usr/bin/python3.5

现在开始,我们就可以使用下方的命令随时在列出的 Python 替代版本中任意切换了。
(这一步是最关键的)

$ update-alternatives --config python

下面就简单了,会提示你输入序号,你想用哪个版本为默认,就输入序号就可以了!
在这里插入图片描述

  • 7
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值