ubuntu 更换Python版本

切换版本

1
2
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.7 1
sudo update-alternatives --install /usr/bin/pip3 pip3 /usr/local/bin/pip3.7 1

切换之后终端打不开

1
2
3
4
cd /usr/lib/python3/dist-packages/gi/
sudo cp _gi_cairo.cpython-36m-x86_64-linux-gnu.so _gi_cairo.cpython-37m-x86_64-linux-gnu.so
sudo cp _gi.cpython-36m-x86_64-linux-gnu.so _gi.cpython-37m-x86_64-linux-gnu.so
sudo cp -a /usr/lib/python3/dist-packages/gi /usr/local/lib/python3.7/site-packages/

update-alternatives 基本命令

update-alternatives命令的几个主要选项为:display、install、remove、config

display选项

display选项用来显示一个命令链接的所有可选命令,即查看一个命令链接组的所有信息,包括链接的模式(自动还是手动)、链接priority值、所有可 用的链接命令等等。

install选项

install选项的功能就是增加一组新的系统命令链接符。
使用语法为:update-alternatives –install [–slave link name path]…。其中link为系统中功能相同软件的公共链接目录,比如/usr/bin/java(需绝对目录); name为命令链接符名称,如java;path为你所要使用新命令、新软件的所在目录;priority为优先级,当命令链接已存在时,需高于当前值,因为当alternative为自动模式时,系统默认启用priority高的链接;–slave为从alternative。

config选项

config选项用来显示和修改实际指向的候选命令,为在现有的命令链接选择一个作为系统默认。

remove选项

remove选项的功能是删除一个命令的link值,其附带的slave也将一起删除。
使用语法为:update-alternatives –remove name path。其中name与path与install中的一致,如果所删除的链接组中还有其他链接的话,系统将会自动从其他中选择一个priority高的链接作为默认为链接。
比如:update-alternatives –remove java /usr/lib/jvm/jre1.6.0_20/bin/java