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中的内存泄漏
Apr 23 Python
在Python中处理时间之clock()方法的使用
May 22 Python
Python实现合并字典的方法
Jul 07 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
Oct 18 Python
深入源码解析Python中的对象与类型
Dec 11 Python
Python中turtle作图示例
Nov 15 Python
Python 实现异步调用函数的示例讲解
Oct 14 Python
Python编程学习之如何判断3个数的大小
Aug 07 Python
在python中利用try..except来代替if..else的用法
Dec 19 Python
详解如何修改python中字典的键和值
Sep 29 Python
在python3.9下如何安装scrapy的方法
Feb 03 Python
Python实现批量自动整理文件
Mar 16 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中使用临时表查询数据的一个例子
2013/02/03 PHP
详解WordPress中提醒安装插件以及隐藏插件的功能实现
2015/12/25 PHP
详解PHP中websocket的使用方法
2016/09/15 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
JavaScript 加号(+)运算符号
2009/12/06 Javascript
JavaScript中出现乱码的处理心得
2009/12/24 Javascript
javascript qq右下角滑出窗口 sheyMsg
2010/03/21 Javascript
JQuery中操作Css样式的方法
2014/02/12 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
JQUERY表单暂存功能插件分享
2016/02/23 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
Python利用公共键如何对字典列表进行排序详解
2018/05/19 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
python学习--使用QQ邮箱发送邮件代码实例
2019/04/16 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
对python中return与yield的区别详解
2020/03/12 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
利用Python将图片中扭曲矩形的复原
2020/09/07 Python
交通法规咨询中心工作职责
2013/11/27 职场文书
男性健康日的活动方案
2014/08/18 职场文书
歌颂党的演讲稿
2014/09/10 职场文书
2014年科室工作总结
2014/11/20 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers