文章目錄
- 一、問題描述
- 二、檢視python版本
- 三、修改系統預設python版本
一、問題描述
在編譯google的cartographer-ros包時,出現了一個PythonInterp導緻的錯誤,具體如下圖
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNiNx8FesU2cfdGLwczX0xiRGZkRGZ0Xy9GbvNGLwIzXlpXazxCa1IjYMpEWalGbzEVQClGVF5UMR9Fd4VGdsATNfd3bkFGazxSUhxGatJGbwhFT1Y0Mk9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL2ETOwMjZ5QGNxMDZiRzNhlDZjRDZ2YTNzQTYyQWO5EzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
- 可以看出pythoninterp的版本是通過
确定的,而此時ubuntu預設的python版本為python2,在本機為2.7.18,導緻不滿足cmake對pythoninterp最低版本為3的要求,下面檢視python版本并更換預設python版本。/usr/bin/python
二、檢視python版本
- 在終端通過
檢視預設python版本python --version
python --version #檢視系統預設python版本
python2 --version #檢視python2具體版本
python3 --version #檢視python3具體版本
- 可以看出此時系統預設的python版本為
三、修改系統預設python版本
- 可以通過update-alternatives管理linux系統中軟體版本的切換
- 如果出現
的錯誤提示,說明python的可替換版本還未加入update-alternatives的清單中,此時将步驟二檢視到的python版本添加進去update-alternatives: error: no alternatives for 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
- 此時再執行
就可以看到python的可替換版本update-alternatives --list python
- 在終端中執行如下指令以切換pyhton版本
sudo update-alternatives --config python
- 可以看到此時系統預設的python版本已經被自動設定為3.8,如果要切換回2.7的版本隻需要在此視窗輸入2.7對應的編号即可設定
- 回車保持目前設定,再檢視預設python版本
- 此時python版本已經設定為3.8,符合cartographer-ros的編譯要求,再次編譯可以正常通過