centos服务器系统下安装python3并与自带的python2

centos 服务器系统 下安装python3并与自带的python2

在centos中,自带有python2,因此需要经常安装python3。但是这里有一个坑,就是centos的yum是用python2写的,如果正常编译安装python3,那么yum就会直接挂了。为了方便以后编译安装python3,不用天天去网上找教程仅供参考。

(因平台原因本文中www即为xxx ,com即为zzz,http/ccccc即为cccc/ccccc)

首先连上服务器,看下python版本:

python -V

如图我们可以看到centos下,默认带有python2.7.5:

接下来我们开始安装python3。

1 安装python3所需要的组件

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

安装完成如图:

2 备份现有的python2

cd /usr/bin

mv python python.bak

mv pip pip.bak

然后试下yum,发现已经挂了:

3 下载并编译安装python3

这篇文章我们选择最新的稳定版本3.6.5,如有更新可以自行去官网

cd ~ && wget ccccc://xxx.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz ;

tar -xvJf Python-3.6.5.tar.xz

cd Python-3.6.5

指定安装路径

./configure prefix=/usr/local/python3

编译并安装

make && make install

编译安装完成后如图:

接下来做一条软连接,将python3指向python,顺便把pip也重新指向:

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

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

这时候我们执行一下python,看看版本回显信息:

python -V

python2 -V

如图可以看到,python命令对应了python3.6.5,python2命令对应了python2.7.5。

4 修改yum配置

装完了python3之后,我们要修一下yum了,不然以后都没法装软件和环境了。

vim /usr/bin/yum

如图,按insert,把头部的 #! /usr/bin/python 修改为 #! /usr/bin/python2

修改完成后按esc,然后输入 :wq 保存退出

同样修改一下 urlgrabber-ext-down 文件,把头部的 #! /usr/bin/python 修改为 #! /usr/bin/python2:

vim /usr/libexec/urlgrabber-ext-down

改完之后再试一下yum,已经恢复正常:

到了这一步那么所有的就弄好啦

我是艾西,今天的分享就到这里啦希望对有需要的小伙伴有帮助我们下期见

拥有一台服务器可以做很多有趣的事情!

相关推荐
2601_962299244 小时前
Azure python操作系统列表
python·操作系统·azure·虚拟机·存储配置文件
2601_962071575 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
小诗懂技术5 小时前
【网络通信UDP】基础 进程间不同主机的通信
运维·服务器·网络
weixin_440730505 小时前
selenium实战记录-从登陆-首页-进入应用流程用例三种参数化+日志+报告
服务器·selenium·测试工具
学术 学术 Fun5 小时前
如何用 API 与 Webhook 批量把图表图片转换成 VSDX
python·自动化·api·visio
Hstar_chen6 小时前
开源一款 HarmonyOS 服务器监控客户端:星辰云巡 1.0.3
服务器·华为·harmonyos
淡海水6 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
2601_962100546 小时前
python包和模块的内容整理
python·模块·导入·虚拟环境·
CS_Zero6 小时前
C语言sizeof是函数吗?
c语言·开发语言
二进制漫游记6 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding