天天看點

ubuntu中python版本管理一、問題描述二、檢視python版本三、修改系統預設python版本

文章目錄

  • 一、問題描述
  • 二、檢視python版本
  • 三、修改系統預設python版本

一、問題描述

在編譯google的cartographer-ros包時,出現了一個PythonInterp導緻的錯誤,具體如下圖
ubuntu中python版本管理一、問題描述二、檢視python版本三、修改系統預設python版本
  • 可以看出pythoninterp的版本是通過

    /usr/bin/python

    确定的,而此時ubuntu預設的python版本為python2,在本機為2.7.18,導緻不滿足cmake對pythoninterp最低版本為3的要求,下面檢視python版本并更換預設python版本。

二、檢視python版本

ubuntu中python版本管理一、問題描述二、檢視python版本三、修改系統預設python版本
在/usr/bin中檢視python相關檔案
  • 在終端通過

    python --version

    檢視預設python版本
python --version 	#檢視系統預設python版本
python2 --version	#檢視python2具體版本
python3 --version	#檢視python3具體版本
           
  • 可以看出此時系統預設的python版本為
ubuntu中python版本管理一、問題描述二、檢視python版本三、修改系統預設python版本

三、修改系統預設python版本

  • 可以通過update-alternatives管理linux系統中軟體版本的切換
  • 如果出現

    update-alternatives: error: no alternatives for python

    的錯誤提示,說明python的可替換版本還未加入update-alternatives的清單中,此時将步驟二檢視到的python版本添加進去
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2
           
  • 此時再執行

    update-alternatives --list python

    就可以看到python的可替換版本
ubuntu中python版本管理一、問題描述二、檢視python版本三、修改系統預設python版本
  • 在終端中執行如下指令以切換pyhton版本
sudo update-alternatives --config python
           
ubuntu中python版本管理一、問題描述二、檢視python版本三、修改系統預設python版本
  • 可以看到此時系統預設的python版本已經被自動設定為3.8,如果要切換回2.7的版本隻需要在此視窗輸入2.7對應的編号即可設定
  • 回車保持目前設定,再檢視預設python版本
ubuntu中python版本管理一、問題描述二、檢視python版本三、修改系統預設python版本
  • 此時python版本已經設定為3.8,符合cartographer-ros的編譯要求,再次編譯可以正常通過