linux centos 7.x 安装 python3.x 替换 python2.x的过程解析


Posted in Python onDecember 14, 2020

linux centos 7.x 安装 python3.x 替换 python2.x的过程解析

前言

一般而言,新的 centos 7.x 中自带的 python 都是 2.x 的版本。对于我们运行 python 软件支持并不友好,所以需要进行升级操作

下载 python3 的包之前,要先安装相关的依赖包,用于下载编译 python3:

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

安装 pip

默认的 centos7 是没有安装 pip,先添加 epel 扩展源

yum -y install epel-release

安装 pip

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

一般 centos7 系统都有自带的 python 2.x 的版本,所以直接使用 python 运行即可

python get-pip.py

pip 测试安装

pip -V

# pip 版本展示如下
pip 20.3.1 from /usr/local/python3/lib/python3.6/site-packages/pip (python 3.6)

安装 wget

安装 wget 命令如下

pip install wget

用 wget 下载 python3 的源码包,或者自己先下载好,上传到服务器再安装,如果网络快可以直接安装

wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz

编译 python 源码包

编译 python3 源码包,解压

xz -d Python-3.6.8.tar.xz
tar -xf Python-3.6.8.tar

进入解压后的目录,依次执行下面命令进行手动编译

cd Python-3.6.8
./configure prefix=/usr/local/python3

如果执行报如下错误,是因为由于本机缺少 gcc 编译环境,如果不报错,直接执行下一步骤

configure: error: in `/root/Python-3.6.8':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details


# 执行命令
yum install -y gcc

执行成功后,开始手动编译,时间稍等几分钟

make && make install

安装依赖 zlib、zlib-deve

yum install zlib zlib
yum install zlib zlib-devel

最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有 python3 目录

替换 python 软链接

添加软链接,将原来的链接备份,如果没有 python 软连接可以不执行

mv /usr/bin/python /usr/bin/python.bak

添加 python3 的软链接

ln -s /usr/local/python3/bin/python3.6 /usr/bin/python

测试是否安装成功了

python -V

# python 版本展示
Python 3.6.8

更新 yum 文件

而因为 yum 使用的是 python2,所以替换成为 python3 后可能会无法工作,因此还需要修改 yum 的配置文件

在此之前需要确认下,python 是否有 2.7 的版本

linux centos 7.x 安装 python3.x 替换 python2.x的过程解析

确认后就可以修改了

# 把文件头部的 #! /usr/bin/python 改成 #! /usr/bin/python2.7
vi /usr/bin/yum
# 把文件头部的 #! /usr/bin/python 改成 #! /usr/bin/python2.7
vi /usr/libexec/urlgrabber-ext-down
# 把文件头部的 #! /usr/bin/python 改成 #! /usr/bin/python2.7
# 如果没有此文件,就不必修改
vi /usr/bin/yum-config-manager

修改完成后可以下载个平时比较常用的 tree 组件

yum install tree -y

到此这篇关于linux centos 7.x 安装 python3.x 替换 python2.x的文章就介绍到这了,更多相关 python3.x 替换 python2.x内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中列表和元组的相关语句和方法讲解
Aug 20 Python
http请求 request失败自动重新尝试代码示例
Jan 25 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
Feb 07 Python
Python用于学习重要算法的模块pygorithm实例浅析
Aug 16 Python
分析python请求数据
Aug 19 Python
浅谈Pycharm中的Python Console与Terminal
Jan 17 Python
使用Python画股票的K线图的方法步骤
Jun 28 Python
安装docker-compose的两种最简方法
Jul 30 Python
python pygame实现滚动横版射击游戏城市之战
Nov 25 Python
python统计字符的个数代码实例
Feb 07 Python
利用python实现凯撒密码加解密功能
Mar 31 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
May 26 Python
Python获取指定网段正在使用的IP
Dec 14 #Python
python利用pytesseract 实现本地识别图片文字
Dec 14 #Python
python 利用百度API识别图片文字(多线程版)
Dec 14 #Python
python3中for循环踩过的坑记录
Dec 14 #Python
Python 数据分析之逐块读取文本的实现
Dec 14 #Python
Python 2.6.6升级到Python2.7.15的详细步骤
Dec 14 #Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
Dec 14 #Python
You might like
php visitFile()遍历指定文件夹函数
2010/08/21 PHP
最常用的8款PHP调试工具
2014/07/06 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
实例讲解PHP验证邮箱是否合格
2019/01/28 PHP
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
纯JS实现动态时间显示代码
2014/02/08 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
vue+element实现表单校验功能
2019/05/20 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
解决layui-open关闭自身窗口的问题
2019/09/10 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[52:20]DOTA2-DPC中国联赛正赛 SAG vs XGBO3 第一场 3月5日
2021/03/11 DOTA
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
Python facenet进行人脸识别测试过程解析
2019/08/16 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
TripAdvisor德国:全球领先的旅游网站
2017/12/07 全球购物
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
仓库管理专业个人的自我评价
2013/12/30 职场文书
正风肃纪剖析材料
2014/02/18 职场文书
消防宣传口号
2014/06/16 职场文书
升国旗演讲稿
2014/09/05 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android