主要是update-alternatives
命令的使用。
指定python
候选版本(最后一个数字为优先级,数字越大表示优先级越高):
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 3
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6m 2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
然后查看所有候选者:
sudo update-alternatives --list python
要想移除候选版本:
sudo update-alternatives --remove /usr/bin/python2.7
切换候选者:
sudo update-alternatives --config python
然后按照提示操作即可。
该命令通过将/usr/bin/python
指向/etc/alternatives/python
,再将后者指向对应的/usr/bin/python3.8
来实现。
/usr/bin/
下还有一个python-config
文件,不会跟随命令改变,总是指向/usr/bin/python2.7-config
。不知道会不会有什么问题。
ImportError: cannot import name 'sysconfig' from 'distutils' (/usr/lib/python3.8/distutils/init.py)
apt install python3.9-distutils
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1. sudo cp /usr/share/pyshared/lsb_release.py /usr/lib/python3.8/
Q. E. D.