linux centos 7.x 安装 python3.x 替换 python2.x

前言


一般而言,新的 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

 

结言


由于作者水平有限, 欢迎大家能够反馈指正文章中错误不正确的地方, 感谢 🙏

小伙伴的喜欢就是对我最大的支持, 如果读了文章有所收获, 希望能够 点赞、评论、关注三连!

 

推荐阅读:

  1. 【强烈推荐】1w 字,18 张图,彻底说清 springboot starter
  2. 【强烈推荐】谨慎使用 JDK 8 新特性并行流 ParallelStream
  3. 【强烈推荐】一文快速掌握 Redisson 如何实现分布式锁原理
  4. 【大厂面试真题】JDK 线程池中如何不超最大线程数快速消费任务
  5. 【大厂面试真题】JDK 线程池如何保证核心线程不被销毁

作者麻花,坐标帝都 Java 后端研发,励志成为架构师的一枚处女座程序员,专注高并发、框架底层源码、分布式等知识分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值