安装anaconda后,建立了一个tensorflow的virtual env,其中安装了python3.6
但是我运行ros用的是python2.7,如何切换?

查看默认python路径
$ which python
显示/home/zgd/anaconda3/bin
查看系统PATH:echo $PATH
在这里插入图片描述

首先说解决办法,我的~/.bashrc中有条
export PATH="/home/zgd/anaconda3/bin:$PATH"
这就是罪魁祸首,将其注释掉,source,终端输入python,显示2.7

说下其他几个思路
第一个思路是通过anaconda建立一个python2.7的virtual env

比如我现在默认是3.6,要切换到2.7
conda create --name python27 python=2.7
source activate python27
source deactivate python27
缺点是anaconda会另外安装python2.7,然后每次都要激活python27环境,在虚拟环境中运行ros,想想好像都不太科学

第二个思路是通过软链接的方法

我们在终端输入python执行的是一个软链接,系统会在PATH中寻找python这个链接,由于在我的PATH中/home/zgd/anaconda3/bin在前,所以会先执行其中的python链接,而这个链接指向python3.6
在这里插入图片描述

在没有这个路径前,系统会搜寻到/usr/bin/下的python链接,而这个链接是指向python2.7
在这里插入图片描述

那么基本思路是删除掉原来/home/zgd/anaconda3/bin下的python链接,重新生成到python2.7的链接
sudo rm /home/zgd/anaconda3/bin/python
sudo ln -s /usr/bin/python2.7 /home/zgd/anaconda3/bin/python
要复原则先执行第一步rm,然后
sudo ln -s /home/zgd/anaconda3/bin/python3.6 /home/zgd/anaconda3/bin/python
缺点是每次需要用到不同python时需要重新建立链接

综上还是直接修改PATH变量来得方便

(Anaconda 如何在 Python3和Python2之间切换?)

(在anaconda中安装、切换python的版本:2.7~3.6)

(Linux下安装python3.6和2.7版本,如何将python改为默认的2.7版本的方法)

(修改ubuntu默认的Python版本号)
转载

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐