前言
一般而言,新的 centos 7.x 中自带的 python 都是 2.x 的版本。对于我们运行 python 软件支持并不友好,所以需要进行升级操作
下载 python3 的包之前,要先安装相关的依赖包,用于下载编译 python3:
<span style="color:#000000"><code class="language-shell">yum <span style="color:#6699cc">install</span> zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc <span style="color:#6699cc">make</span>
</code></span>
- 1
- 2
安装 pip
默认的 centos7 是没有安装 pip,先添加 epel 扩展源
<span style="color:#000000"><code class="language-shell">yum -y <span style="color:#6699cc">install</span> epel-release
</code></span>
- 1
- 2
安装 pip
<span style="color:#000000"><code class="language-shell"><span style="color:#6699cc">curl</span> https://bootstrap.pypa.io/get-pip.py -o get-pip.py
</code></span>
- 1
- 2
一般 centos7 系统都有自带的 python 2.x 的版本,所以直接使用 python 运行即可
<span style="color:#000000"><code class="language-shell">python get-pip.py
</code></span>
- 1
- 2
pip 测试安装
<span style="color:#000000"><code class="language-shell">pip -V
<span style="color:#999999"># pip 版本展示如下</span>
pip 20.3.1 from /usr/local/python3/lib/python3.6/site-packages/pip <span style="color:#999999">(</span>python 3.6<span style="color:#999999">)</span>
</code></span>
- 1
- 2
- 3
- 4
安装 wget
安装 wget 命令如下
<span style="color:#000000"><code class="language-shell">pip <span style="color:#6699cc">install</span> <span style="color:#6699cc">wget</span>
</code></span>
- 1
- 2
用 wget 下载 python3 的源码包,或者自己先下载好,上传到服务器再安装,如果网络快可以直接安装
<span style="color:#000000"><code class="language-shell"><span style="color:#6699cc">wget</span> https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
</code></span>
- 1
- 2
编译 python 源码包
编译 python3 源码包,解压
<span style="color:#000000"><code class="language-shell">xz -d Python-3.6.8.tar.xz
<span style="color:#6699cc">tar</span> -xf Python-3.6.8.tar
</code></span>
- 1
- 2
进入解压后的目录,依次执行下面命令进行手动编译
<span style="color:#000000"><code class="language-shell"><span style="color:#6699cc">cd</span> Python-3.6.8
./configure prefix<span style="color:#99cc99">=</span>/usr/local/python3
</code></span>
- 1
- 2
如果执行报如下错误,是因为由于本机缺少 gcc 编译环境,如果不报错,直接执行下一步骤
<span style="color:#000000"><code class="language-shell">configure: error: <span style="color:#cc99cc">in</span> <span style="color:#ee9900"><span style="color:#ee9900">`</span>/root/Python-3.6.8':
configure: error: no acceptable C compiler found <span style="color:#cc99cc">in</span> $PATH
See <span style="color:#ee9900">`</span></span>config.log' <span style="color:#cc99cc">for</span> <span style="color:#6699cc">more</span> details
<span style="color:#999999"># 执行命令</span>
yum <span style="color:#6699cc">install</span> -y gcc
</code></span>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
执行成功后,开始手动编译,时间稍等几分钟
<span style="color:#000000"><code class="language-shell"><span style="color:#6699cc">make</span> <span style="color:#99cc99">&&</span> <span style="color:#6699cc">make</span> <span style="color:#6699cc">install</span>
</code></span>
- 1
- 2
安装依赖 zlib、zlib-deve
<span style="color:#000000"><code class="language-shell">yum <span style="color:#6699cc">install</span> zlib zlib
yum <span style="color:#6699cc">install</span> zlib zlib-devel
</code></span>
- 1
- 2
最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有 python3 目录
替换 python 软链接
添加软链接,将原来的链接备份,如果没有 python 软连接可以不执行
<span style="color:#000000"><code class="language-shell"><span style="color:#6699cc">mv</span> /usr/bin/python /usr/bin/python.bak
</code></span>
- 1
- 2
添加 python3 的软链接
<span style="color:#000000"><code class="language-shell"><span style="color:#6699cc">ln</span> -s /usr/local/python3/bin/python3.6 /usr/bin/python
</code></span>
- 1
- 2
测试是否安装成功了
<span style="color:#000000"><code class="language-shell">python -V
<span style="color:#999999"># python 版本展示</span>
Python 3.6.8
</code></span>
- 1
- 2
- 3
- 4
更新 yum 文件
而因为 yum 使用的是 python2,所以替换成为 python3 后可能会无法工作,因此还需要修改 yum 的配置文件
在此之前需要确认下,python 是否有 2.7 的版本
确认后就可以修改了
<span style="color:#000000"><code class="language-shell"><span style="color:#999999"># 把文件头部的 #! /usr/bin/python 改成 #! /usr/bin/python2.7</span>
<span style="color:#6699cc">vi</span> /usr/bin/yum
<span style="color:#999999"># 把文件头部的 #! /usr/bin/python 改成 #! /usr/bin/python2.7</span>
<span style="color:#6699cc">vi</span> /usr/libexec/urlgrabber-ext-down
<span style="color:#999999"># 把文件头部的 #! /usr/bin/python 改成 #! /usr/bin/python2.7</span>
<span style="color:#999999"># 如果没有此文件,就不必修改</span>
<span style="color:#6699cc">vi</span> /usr/bin/yum-config-manager
</code></span>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
修改完成后可以下载个平时比较常用的 tree 组件
<span style="color:#000000"><code class="language-shell">yum <span style="color:#6699cc">install</span> tree -y
</code></span>
- 1
- 2
结言
由于作者水平有限, 欢迎大家能够反馈指正文章中错误不正确的地方, 感谢 🙏
小伙伴的喜欢就是对我最大的支持, 如果读了文章有所收获, 希望能够 点赞、评论、关注三连!
推荐阅读:
- 【强烈推荐】1w 字,18 张图,彻底说清 springboot starter
- 【强烈推荐】谨慎使用 JDK 8 新特性并行流 ParallelStream
- 【强烈推荐】一文快速掌握 Redisson 如何实现分布式锁原理
- 【大厂面试真题】JDK 线程池中如何不超最大线程数快速消费任务
- 【大厂面试真题】JDK 线程池如何保证核心线程不被销毁
作者麻花,坐标帝都 Java 后端研发,励志成为架构师的一枚处女座程序员,专注高并发、框架底层源码、分布式等知识分享