yum&python版本问题解决

Python013

yum&python版本问题解决,第1张

项目原因,需要对一台机器做kerberos授权。

使用yum安装kerberos过程中,遇到一些问题

安装yum的python module之后,使用yum安装软件,仍然有版本问题

rpm是啥: 本意是Red-Hat Package Manager,但是其他Linux版本也支持,可以看成通用的Linux软件包管理的工具。

yum又是啥:Yellow dog Updater, Modified的缩写(不能见名知意),一顿百度之后,我简单理解成,yum是python实现的,基于rpm的一个易用封装(屏蔽了rpm的软件包依赖等细节)

所以回过头来分析遇到的问题:

yum不可用,是一个python问题;

而yum可用,yum安装报版本的错误,其实是通过yum/rpm安装的软件有版本问题;

通过和正常机器的比对,发现本台机器的python2.6,是野路子安装的,不是通过rpm安装。yum安装软件,找不到使用rpm安装的python,于是就有missing requires of python的问题。所以,通过rpm装一个python2.6,理论上就通了。

不过安装过程中,访问正常的rpm仓库( http://mirrors.ustc.edu.cn/centos/6/os/x86_64/Packages 等),看到的python-2.6.6.rpm包,版本都是python-2.6.6-66.el6_8.x86_64,适合centos6.8以上,理由是其他版本的centos软件包不维护升级,有安全风险。而我们的服务器是centos6.3,不能使用这个包。

收获有二:

任何时候,定位问题最快的方式,还是拿完美环境和问题环境,做对比,找diff,diff的点,往往就是问题点。程序员的控制变量法,颠扑不破。

得搞懂各种概念,之前对rpm、yum只是大概了解,通过这次定位解决问题,有了更深入的了解。

python2.7现在已经正式被放弃了,运行会报错,所以得玩Python3版本了

这里分享Centos7系统下将Python2.7升级3.6.9的方法,非常靠谱本人刚刚测试通过,看了老外的教程

简单三步,就能快速讲过Python2+升级到Python3+

第一步:安装软件仓库

yum install centos-release-scl -yCOPY

第二步:YUM命令安装Python3.6版本

yum install rh-python36COPY

此时用命令查看检查python –version系统依然是Python2.7.5版本

第三步:将Python3.6+设为系统默认版本

sclenablerh-python36 bashCOPY

这个命令所执行的操作是调用脚本/opt/rh/rh-python36/enable,该脚本会自动更改系统Shell环境变量。

这个时候再用python –version命令检查,系统的Python默认版本已经变成了Python 3.6.9

第四步:升级pip

原有的pip版本会很低,所以也需要升级一下,升级命令如下:

pip install --upgrade pip