#问题的背景
运行roslaunch时出现:no moudule named yaml。找了很久发现是python版本互相的问题。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1 #python2设置优先级为1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2 #python3设置优先级为2,优先级越大越优先
sudo update-alternatives --config python #选择版本
python --version #查看当前python版本
update-alternatives --help #查看使用
#问题的产生
本来是不难的,但是当时不知道update-alternatives的使用,想换回来时,写成了
sudo update-alternatives --install /usr/bin/python3 python /usr/bin/python 1
于是问题就来了,最后打算重新安装python。输入了:
sudo rm -rf /usr/bin/python*
以及
sudo apt-get remove python3
卸载时发现一篇博客说:系统自带的python3不能删除,不然会造成开不了机!!!
不过还好,我查百度,ubuntu20.04自带的版本是python3.8,而我的只是我自己下载的python3.6。如果真的是自带的,千万别重启,有图形界面用终端,没有shift+alt+F1,再法一:打开history.log,上面有记录,一条一条下载;法二:重装系统;法三暂不知。
#问题解决
1、找一台安装ubuntu20.04的电脑,找到里面 usr/bin/python3.8,usr/lib/python3打包通过QQ或者其他形式发过来,复制到你的 usr/bin/ 里
tar -cvf 1.tar +要压缩的文件位置
2、建立软连接
sudo ln -s /usr/local/python3 /usr/bin/python3.8
sudo ln -s /usr/local/python /usr/bin/python3
3、解决相关依赖的问题
sudo su
mv /var/lib/dpkg/info /var/lib/dpkg/info_bak
mkdir /var/lib/dpkg/info
apt-get update && apt-get -f install
sudo apt autoremove #自动卸载无用的
4、如果像我一样把python2也删了
sudo su
cd /usr/local
mkdir python-2.7.18
wget http://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz
xz -d Python-2.7.18.tar.xz
tar -xvf Python-2.7.18.tar #解压
移动到上面的python-2.7.18
cd python-2.7.18
./configure --prefix = /usr/local/python2.7.18
make #编译
make install
sudo ln -s /usr/local/python2 /usr/bin/python2.7.18 #创建软连接