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

到了这一步那么所有的就弄好啦
我是艾西,今天的分享就到这里啦希望对有需要的小伙伴有帮助我们下期见
拥有一台服务器可以做很多有趣的事情!