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

Devin -
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目录
image.png
用于对比使用alternatives后的一些变化

3.下载安装 Python 3.6.14
(1)https://www.python.org/downlo...
image.png
下载上面那个,并传到自己的文件夹下 /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的安装目录,安装成功后,如图:
image.png

(4)创建软连接
ln -s /root/devin/RPM/Python-3.6.14/bin/python3.6 /usr/local/bin/python3

image.png

(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 。
image.png

5.查看此时的/etc/alternatives目录
image.png

切换为Python2.7:alternatives --config python
image.png

6.查看可执行文件的软连接改变了
image.png

二:运行程序:

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

特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

Tags 标签

pythonlinuxcentos

扩展阅读

加个好友,技术交流

1628738909466805.jpg