安裝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)