一、前言

  升级glibc的时候根据INSTALL升级说明,要求python版本3.4以上。所以需要对python版本进行升级。centos7默认安装的python版本为2.7.5,python通过yum安装也只能安装2.7.5版本,python3可以通过yum安装3.6.8版本。如果需要更高的版本,只能通过源码编译安装。此博文介绍源码安装方式升级python和python3版本,源码编译安装要求操作系统已经安装了gcc。环境说明如下:

  • 操作系统:centos7.6
  • python版本:升级前版本2.7.5,升级后2.7.18
  • python3版本:升级前3.6.8,升级后版本3.8.8

二、python安装步骤

1、查看当前python版本

[root@s143 ~]# python -V
Python 2.7.5

2、yum安装python

[root@s143 ~]# yum install -y python2
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Package python-2.7.5-90.el7.x86_64 already installed and latest version
Nothing to do

3、yum安装python3

[root@s143 ~]# yum install -y python3
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Installed:
python3.x86_64 0:3.6.8-18.el7

Dependency Installed:
libtirpc.x86_64 0:0.2.4-0.16.el7 python3-libs.x86_64 0:3.6.8-18.el7 python3-pip.noarch 0:9.0.3-8.el7 python3-setuptools.noarch 0:39.2.0-10.el7

Complete!

三、python2升级步骤

0、查找需要升级的版本

python官网(包括python和python3所有的版本)查找需要安装或者升级的版本。

1、下载python新版本

[root@s143 opt]# wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz

2、解压软件包

[root@s143 opt]# tar -zxvf Python-2.7.18.tgz

3、预编译软件包

[root@s143 opt]# cd Python-2.7.18
[root@s143 Python-2.7.18]# ./configure --prefix=/usr

4、编译软件包

[root@s143 Python-2.7.18]# make

running build_scripts
creating build/scripts-2.7
copying and adjusting /opt/Python-2.7.18/Tools/scripts/pydoc -> build/scripts-2.7
copying and adjusting /opt/Python-2.7.18/Tools/scripts/idle -> build/scripts-2.7
copying and adjusting /opt/Python-2.7.18/Tools/scripts/2to3 -> build/scripts-2.7
copying and adjusting /opt/Python-2.7.18/Lib/smtpd.py -> build/scripts-2.7
changing mode of build/scripts-2.7/pydoc from 644 to 755
changing mode of build/scripts-2.7/idle from 644 to 755
changing mode of build/scripts-2.7/2to3 from 644 to 755
changing mode of build/scripts-2.7/smtpd.py from 644 to 755
/usr/bin/install -c -m 644 ./Tools/gdb/libpython.py python-gdb.py

5、安装软件包

[root@s143 Python-2.7.18]# make install

6、检查升级后的版本

[root@s143 Python-2.7.18]# python -V
Python 2.7.18

四、python3升级步骤

1、下载安装包

[root@s143 opt]# wget https://www.python.org/ftp/python/3.8.8/Python-3.8.8.tgz

2、解压软件包

[root@s143 opt]# tar -zxvf Python-3.8.8.tgz

3、预编译

注意在编译结束后会有提示"If you want a release build with all stable optimizations active (PGO, etc),please run ./configure --enable-optimizations",加上–enable-optimizations预编译的话后续编译会报错“Could not import runpy module ”,原因是gcc版本太低,enable-optimizations参数要求gcc版本8.1.0以上。

[root@s143 opt]# cd Python-3.8.8
[root@s143 Python-3.8.8]# ./configure

4、编译

[root@s143 Python-3.8.8]# make

if test `uname -s` = Darwin; then
cp python-config.py python-config;
fi

5、编译安装

[root@s143 Python-3.8.8]# make install

Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-18.1 setuptools-40.6.2

6、升级后版本检查

[root@s143 Python-3.6.10]# python3 -V
Python 3.8.8

五、QA

1、安装python3.8.8的时候报错zlib not available

  • 报错信息:zipimport.ZipImportError: can’t decompress data; zlib not available
  • 报错原因:没有安装zlib模块
  • 解决方案:安装zlib模块
    [root@s143 bin]# yum install -y zlib*

2、安装完python之后yum报错File “/usr/bin/yum”, line 30

  • 报错信息:File “/usr/bin/yum”, line 30
  • 报错原因:python软连接指向了python3版本,而yum要求python2版本。
  • 解决方案1:修改python命令软连接到python2
    [root@s143 bin]# sln python2 python
    [root@s143 bin]# python -V
    Python 2.7.5
  • 解决方案2:修改/usr/bin/yum文件,将python改为python2

3、安装完成python之后yum安装报错File “/usr/libexec/urlgrabber-ext-down”, line 28

  • 报错信息:File “/usr/libexec/urlgrabber-ext-down”, line 28
  • 报错原因:yum下载程序依赖python2
  • 解决方案1:修改python命令软连接到python2
  • 解决方案2:修改/usr/libexec/urlgrabber-ext-down文件,将python改为python2

4、升级到python2.7.18后报错No module named rpm

  • 报错信息:There was a problem importing one of the Python modules required to run yum. The error leading to this problem was:
    No module named rpm
  • 报错原因:python2.7.18是python2的最新版本,已经移除了对yum的支持,centos8默认使用dnf软件包安装工具。
  • 解决方案:从其他centos7服务器拷贝一个python2.7.5到服务器/usr/bin目录下,然后重建python软链接。

Linux之python版本升级相关推荐

  1. linux中如何升级python版本号,linux的python版本升级

    可利用Linux自带下载工具wget下载,如下所示: #tar -zxvf Python-2.7.13.tgz 进入解压缩后的文件 #cd Python-2.7.13 在编译前先在/usr/local ...

  2. linux下python版本升级,linux下升级python版本

    linux下升级python版本 下载python最新版本2.7.13并编译安装 wget https://www.python.org/ftp/python/2.7.12/Python-2.7.13 ...

  3. linux下python版本升级,Linux下升级python版本(示例代码)

    转载自:http://lovebeyond.iteye.com/blog/1770476 CentOS下的Python版本一般都比较低,很多应用都需要升级python来完成.我装的centOS的默认的 ...

  4. linux 升级python 3.5,Linux下升级Python到3.5.2版本

    本文主要介绍在Linux(CentOS)下将Python的版本升级为3.5.2的方法 众所周知,在2020年python官方将不再支持2.7版本的python,所以使用3.x版本的python是必要的 ...

  5. python可以在linux运行_在linux运行python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! linux下编译安装python3与python2共存linux下默认系统自带p ...

  6. 在linux下python爬虫进程发生异常时自动重启直至正常结束的方法

    在linux下python爬虫进程发生异常时自动重启直至正常结束的方法 参考文章: (1)在linux下python爬虫进程发生异常时自动重启直至正常结束的方法 (2)https://www.cnbl ...

  7. 我的名片能运行Linux和Python,还能玩2048小游戏,成本只要20元

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 猜猜它是什么?印着姓名.职位和邮箱,看起来是个名片.可是右下角有芯片,看起来又像是个PCB电路板. 其实它是一台超迷你的ARM计算机,不仅 ...

  8. 我在学python-我在大学毕业后学习Linux、python的一些经验

    我在大学毕业后学习Linux.python的一些经验 掐指一算,自己已经毕业快半年了,这半年莫名其妙进外包圈子溜达了一圈,有幸退的早还是正常干一些事情吧,外包终究不是太适合刚入社会的毕业生,今天想把自 ...

  9. linux下载哪个python版本-修改linux下python的默认版本

    linux下python版本默认为python2.7,下面将通过操作在linux系统下修改python的默认版本. 本文linux系统使用的是ubuntu19. 操作: 1.在shell下输入pyth ...

  10. python版本升级及pip部署方法

    Python版本升级 CentOS 6.3自带的Python版本为2.6,首先需要升级到2.7版本.由于旧版本的Python已被深度依赖,所以不能卸载原有的Python,只能全新安装. 1.下载Pyt ...

最新文章

  1. HTML和javascript 第二天
  2. python语音播报-使用pyttsx3实现python语音播报
  3. c++ 函数返回引用
  4. 仅限iE浏览器导出WORD
  5. Java钱包_钱包行云java
  6. JBoss BRMS最佳实践– BPM流程初始化层的提示
  7. asp脚本和php脚本,有经典ASP的缓存脚本吗?
  8. java获取系统信息:java的信息、操作系统的信息、用户的信息、虚拟机的信息、系统设置的信息。
  9. LS1012ARDB - How to reflash u-boot / RCW via built in Kinetis CMSIS-DAP
  10. 题目 1427: 蓝桥杯2013年第四届真题-买不到的数目
  11. 成都拓嘉辰丰电商:如何处理拼多多物流服务异常
  12. idea 中部署 tomcat
  13. ipython notebook 如何打开.ipynb文件?
  14. 中心矩和原点矩_中心矩和原点矩的几何意义是什么呢,无法理解
  15. DTI及MRI数据预处理
  16. 打开天正建筑显示服务器为空,打开天正提示找不到可用cad版本 - 卡饭网
  17. OpenMP 并行处理
  18. 互联网摸鱼日报(2023-01-21)
  19. Jmeter-录制脚本操作
  20. 东北大学和南邮的计算机,考研南邮跟东北大学通信与信息系统

热门文章

  1. note同步不及时 one_解决无法同步 OneNote 的问题
  2. mysql translate 函数_Oracle字符串函数-Translate()总结
  3. C++ OpenCV遍历并处理一个文件夹中的所有图片
  4. CSDN 创始人蒋涛:开源吞噬世界,得开发者得天下
  5. linux配置基于pptp的多用户多出口ip的vpn,PPTP配置多ip出口vpn
  6. 王家林人工智能AI第13课:使用Logistic Regression在Social Network上销售汽车并进行可视化性能评估老师微信13928463918
  7. 计算机保持在线的几种方法,获取网络电影实际地址的几种方法.doc
  8. C#,欧拉常数(Euler Constant)的算法与源代码
  9. 升级win10系统后出现语言乱码怎么办,如何解决乱码问题?
  10. 科普知识------世界洋流[地球上有哪些洋流]