yum升级python
1. centos7 yum安装python3 和pip3
最简单的办法
1.yum源是支持python3.6,命令yum install -y python36
2.安装环境工具即可
yum install -y python36-setuptools
yum install -y python36-pip
2. python 版本问题 yum 运行 报错
原因:
这是因为yum采用python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。而CentOS 5自带的yum采用的是python2.4,当系统将python升级到2.6或3.0后,出现语法解释错误。
解决办法:
很简单,一是升级yum,一是修改yum的解释器为旧版本python2.4(如果你没有采用覆盖升级的话)
升级yum的作法就不详述了;
修改yum的解释器为旧版本python2.4:
vi /usr/bin/yum
将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2.4"即可
3. python2.7升级至python3.6
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
4. 如何升级到python3版本并且安装pip3及ipython3
准备:
Python-3.5.2.tar.xz
pip-8.1.2.tar.gz
setuptools-24.0.2.zip
步骤:
1、自定义编译安装python3.x版本
[html] view plain
tar Jxf Python-3.5.2.tar.xz
cd Python-3.5.2
./configure --prefix=/usr/local/Python3
make && make install
2、安装pip3.x,安装会提示需要setuptools模块,所以需要先安装setuptools模块
[objc] view plain
tar zxf pip-8.1.2.tar.gz
tar zxf setuptools-24.0.2.zip
cd setuptools-24.0.2
ln -s /usr/local/Python/bin/python3 /usr/bin/python3
python3 setup.py install
cd ..
cd pip-8.1.2
python3 setup.py install
ln -s /usr/local/Python3/bin/pip3 /usr/bin/pip3
3、验证模块是否正常安装
[html] view plain
python3 -m pip list
decorator (4.0.10)
ipython (4.2.1)
ipython-genutils (0.1.0)
pexpect (4.2.0)
pickleshare (0.7.2)
pip (8.1.2)
ptyprocess (0.5.1)
setuptools (24.0.2)
simplegeneric (0.8.1)
traitlets (4.2.2)
4、安装ipython
[html] view plain
python3 -m pip install ipython
ln -s /usr/local/Python3/bin/ipython3 /usr/bin/ipython3
5、遇到的问题
a、安装pip3的时候提示没有zlib模块
[html] view plain
yum install -y zlib-devel
./configure; echo $? ; make && make install
b、使用pip3的时候提示没有HTTPSHandler模块,提示信息如下,
ImportError: cannot import name 'HTTPSHandler
[html] view plain
yum install -y openssl-devel
然后再重新编译安装python3就可以了,安装完成后就可以直接使用pip3了,不需要再重新编译安装pip3
5. 升级python3.4 执行yum 如下提示
这个是你升级过python,你把你原来的python 改过来就可以了。打个比方:
我升级了python3.6 ,我当时是ln -s usr/local/python3.6/bin/python3 /usr/bin/python
所以造成了报错。你把原来备份的python改过来就可以了。
你升级过的python改成另外的名字就ok了。我的是ln -s usr/local/python3.6/bin/python3 /usr/bin/python3
6. 如何解决python升级后yum报错
修改yum文件
#vi /usr/bin/yum
将 #!/usr/bin/python 修改为 #!/usr/bin/python2.6
以上方法解决问题后,由于手贱又安装了python2.7.5,python3.4.5 还相信网上所说改了bash/profile,最后出现
-bash: /usr/bin/yum: /usr/bin/python2.6: bad interpreter: No such file
很明显链接混乱找不到python2.6连接了
又按照不靠谱的重装yum方法,yum彻底崩了
最后找到补救方法,只有两行代码。