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 30 Python
django实现登录时候输入密码错误5次锁定用户十分钟
Nov 05 Python
python实现坦克大战游戏 附详细注释
Mar 27 Python
Django接收自定义http header过程详解
Aug 23 Python
python实现指定ip端口扫描方式
Dec 17 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
详解PyQt5信号与槽的几种高级玩法
Mar 24 Python
python实现udp聊天窗口
Mar 31 Python
django 连接数据库出现1045错误的解决方式
May 14 Python
Python析构函数__del__定义原理解析
Nov 20 Python
解决jupyter notebook图片显示模糊和保存清晰图片的操作
Apr 24 Python
如何用 Python 子进程关闭 Excel 自动化中的弹窗
May 07 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
smarty模板引擎中变量及变量修饰器用法实例
2015/01/22 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
Script标签与访问HTML页面详解
2014/01/10 Javascript
js验证电话号码与手机支持+86的正则表达式
2014/01/23 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
JS实现的新浪微博大厅文字内容滚动效果代码
2015/11/05 Javascript
JS代码实现根据时间变换页面背景效果
2016/06/16 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
JS中的三个循环小结
2017/06/20 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
python正则表达式判断字符串是否是全部小写示例
2013/12/25 Python
python实现360皮肤按钮控件示例
2014/02/21 Python
详解Python的Django框架中inclusion_tag的使用
2015/07/21 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
matplotlib绘制动画代码示例
2018/01/02 Python
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
python实现Oracle查询分组的方法示例
2020/04/30 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
面向对象编程OOP的优点
2013/01/22 面试题
大学活动总结格式
2014/04/29 职场文书
给校长的建议书100字
2014/05/16 职场文书
莫言诺贝尔获奖演讲稿
2014/05/21 职场文书
经营管理策划方案
2014/05/22 职场文书
2014年辅导员工作总结
2014/11/18 职场文书