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,已经恢复正常:

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

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

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

相关推荐
aloha_7895 分钟前
测试开发工程师面经准备(sxf)
java·python·leetcode·压力测试
神仙别闹6 分钟前
基于C语言 HTTP 服务器客户端的实验
服务器·c语言·http
初听于你17 分钟前
运维高级故障排除与恢复-SysRq
运维·服务器·安全
我命由我1234528 分钟前
Java 并发编程 - Delay(Delayed 概述、Delayed 实现、Delayed 使用、Delay 缓存实现、Delayed 延迟获取数据实现)
java·开发语言·后端·缓存·java-ee·intellij-idea·intellij idea
HLJ洛神千羽29 分钟前
C++程序设计实验(黑龙江大学)
开发语言·c++·软件工程
kyle~34 分钟前
算法数学---差分数组(Difference Array)
java·开发语言·算法
曹牧34 分钟前
C#:三元运算符
开发语言·c#
Jonathan Star1 小时前
MediaPipe 在Python中实现人体运动识别,最常用且高效的方案是结合**姿态估计**(提取人体关键点)和**动作分类**(识别具体运动)
开发语言·python·分类
滨HI01 小时前
C++ opencv拟合直线
开发语言·c++·opencv
沐浴露z1 小时前
详解JDK21新特性【虚拟线程】
java·开发语言·jvm