Linux使用alternatives切换同一工具不同版本(Python为例)

linux版本:CentOS Linux release 7.5.1804 (Core)
工具包:Python 2.7.5(自带),想要安装Python 3,并可以切换
一:配置环境:
1.查看已安装的Python 2.7.5所在目录
安装路径:
[root@devin ~]# whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
可执行程序路径:
[root@devin ~]# which python
/usr/bin/python
查看软连接:
[root@devin alternatives]# ls -l /usr/bin/python*
lrwxrwxrwx 1 root root 7 Jul 30 2018 /usr/bin/python -> python2
lrwxrwxrwx 1 root root 9 Jul 30 2018 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 7216 Jul 13 2018 /usr/bin/python2.7
2.查看未使用alternatives工具安装Python之前,/etc/alternatives目录
Linux使用alternatives切换同一工具不同版本(Python为例)
文章图片

用于对比使用alternatives后的一些变化
【Linux使用alternatives切换同一工具不同版本(Python为例)】3.下载安装 Python 3.6.14
(1)https://www.python.org/downlo...
Linux使用alternatives切换同一工具不同版本(Python为例)
文章图片

下载上面那个,并传到自己的文件夹下 /root/devin/RPM 并解压得到Python-3.6.14
(2)准备编译环境,执行如下指令
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
(3)编译安装
cd /root/devin/RPM/Python-3.6.14
依次执行:
./configure --prefix=/root/devin/RPM/Python-3.6.14
make
make install
其中--prefix是Python的安装目录,安装成功后,如图:
Linux使用alternatives切换同一工具不同版本(Python为例)
文章图片

(4)创建软连接
ln -s /root/devin/RPM/Python-3.6.14/bin/python3.6 /usr/local/bin/python3
Linux使用alternatives切换同一工具不同版本(Python为例)
文章图片

(5)配置环境变量
配置环境变量主要是能快速使用pip3安装命令。
执行 vi ~/.bash_profile,打开配置文件,添加如下配置:
配置python
export PYTHON_HOME=/root/devin/RPM/Python-3.6.14
export PATH=$PYTHON_HOME/bin:$PATH
执行source ~/.bash_profile命令使配置生效
此时执行Python3已经可以运行了
4 alternatives切换Python2和3
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2 # 添加Python2可选项,优先级为2
$ sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3 1 #添加Python3可选项,优先级为1
这里的 /usr/bin/python 链接文件,两个可选项必须是一样的,这样这个链接文件才可以选择两个不同的可选项去链接
这时如果我们查看 /usr/bin/python 这个文件时,会发现它已经链接到了 /etc/alternatives/python 。
Linux使用alternatives切换同一工具不同版本(Python为例)
文章图片

5.查看此时的/etc/alternatives目录
Linux使用alternatives切换同一工具不同版本(Python为例)
文章图片

切换为Python2.7:alternatives --config python
Linux使用alternatives切换同一工具不同版本(Python为例)
文章图片

6.查看可执行文件的软连接改变了
Linux使用alternatives切换同一工具不同版本(Python为例)
文章图片

二:运行程序:
1.编写脚本:

#!/usr/bin/python #coding:utf-8//显示中文

2.使用pip安装第三方库
pip install 包名
//注意pip是Python2的还是Python3 的;两个都有的话可以结合Python的切换使用alternatives安装并切换pip,就当是一个练习吧!!
pip list
//列出已安装的第三方库
3.其他Python相关
yum采用python作为命令解释器,原来系统自带的python解释器为python2.7,若将python默认的解释器设为了python3.6,导致按python3.6解析2.7的语法出错了。所以使用yum时将Python设置为2.7即可
4.使用mobxterm连接Linux服务器,并需要使用Python的图形化第三方工具,需要配置mobxterm使之可以显示图形化界面
本地机器采用 MobaXterm (自带 X server) 连接远程服务器。然后,在服务器上运行 GUI 程序 (即 X client),通过 SSH X11 Forwarding,转发到本地 (Windows 机器上)。
实际操作:
  • 服务器端
安装 X11 Forwarding 相关软件
sudo yum install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 xclock

启用 X11 Forwarding
sudo vim /etc/ssh/sshd_config
将 X11Forwarding 和 X11UseLocalhost 前面的 # 去掉,并将 X11Forwarding 设置为 yes,X11UseLocalhost 设置为 no
重启SSH
  • 本地 (Windows 端)
下载并安装 MobaXterm,远程连接服务器
注意到 X11-forwarding 和 DISPLAY 这两项都打上了绿色的勾,代表设置成功了。
  • 验证
在服务器端运行一个 GUI 程序
如:xclock
参考文献:
https://blog.csdn.net/jasonfq...
https://blog.csdn.net/L_15156...
mobaxterm relate

    推荐阅读