linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
作者:马称 发布时间:2021-11-27 02:46:43
标签: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 的版本
确认后就可以修改了
# 把文件头部的 #! /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
来源:https://blog.csdn.net/qq_37781649/article/details/111136526


猜你喜欢
- 受<! #include file="filename.asp" --> 宏限制必须存在该文件并且会预先编译
- pandas每次多Sheet写入文件,只能一次性存入,不然每次会重写文件,最后只保留最后一次的写入。# !usr/bin env pytho
- 在pytorch中一般只对叶节点进行梯度计算,也就是下图中的d,e节点,而对非叶节点,也即是c,b节点则没有显式地去保留其中间计算过程中的梯
- 我就废话不多说了,还是直接看代码吧!a = [1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1]b = ['
- 1.登陆网站,开启开发者模式。可以在浏览器中点击右键检查或者F12打开开发者模式。2.点选 NetWork,DOC,然后刷新页面。在 net
- arange()类似于内置函数range(),通过指定开始值、终值和步长创建表示等差数列的一维数组,注意得到的结果数组不包含终值。linsp
- PyCharm 是我用过的python编辑器中,比较顺手的一个。而且可以跨平台,在macos和windows下面都可以用,这点比较好。是py
- Python中执行系统命令常见的方法有以下4种注意:以下实例代码在Python3.5下运行通过。一、os.system方法os.system
- io.BytesIO简要介绍及示例io.BytesIO 是 Python 内置的一个 I/O 类,用于在内存中读写二进制数据。它的作用类似于
- 删除字段从Model中删除一个字段要比添加容易得多。 删除字段,仅仅只要以下几个步骤: 删除字段,然后重
- 目录一、为什么使用 .gitignore ?二、使用规则2.1 注释2.2 忽略文件(1)忽略文件和目录(2)仅忽略文件2.3 忽略目录2.
- asp之家注:也许你还没有接触过使用js来调用asp文件,也许你也不知道如何用JS调用asp文件,甚至你也不知道JS调用asp文件有什么好处
- 1、前言接上节,我们初步体验了layui-vue的用法。相比其他ui框架,layui-vue的数据结构显得不是非常友好,但是经过数据拼凑也是
- 像素误差看自己设计好上线的网站,偶尔会发觉像素行间出现了弹性空间,总在不经意间蹦出一定的差距。有些页面很难发现,比如活动类页面,这类页面多呈
- 本文实例为大家分享了python实现简单学生管理系统的具体代码,供大家参考,具体内容如下学生管理系统相信大家学各种语言的时候,练习总是会写各
- 本文是关于人物角色的一些简单介绍,感谢瑶芝同学提供的大力帮助! 人物角色(Personas)作为一种技术
- 1.双摆问题所谓双摆,就是两个连在一起的摆。接下来本来是要推公式的,考虑考虑到大家可能会有公式恐惧症,同时又喜欢看图,所以把公式挪到后面。所
- 去听了牛人 dbaron 的一个 Web Page Layout/Display in Mozilla 讲座( via )。讲的东西对我一个
- 本文实例为大家分享了python图书管理系统的具体代码,供大家参考,具体内容如下实现语言:python图形框架:DTK+2.0数据库框架:S
- 本文实例讲述了Python装饰器用法。分享给大家供大家参考,具体如下:无参数的装饰器#coding=utf-8def log(func):