热爱技术
专注分享

centos下安装python3并与自带的python2共存

misery阅读(4903)

由于自学python3,需要在服务器上调试python程序。在centos中,自带有python2,因此需要经常安装python3。但是这里有一个坑,就是centos的yum是用python2写的,如果正常编译安装python3,那么yum就会直接挂了。为了方便以后编译安装python3,不用天天去网上找教程,准备写下这篇文章,供日后参考。

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

python -V

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

image.png

接下来我们开始安装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

安装完成如图:

image.png

 

2 备份现有的python2

cd /usr/bin
mv python python.bak
mv pip pip.bak

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

image.png

 

3 下载并编译安装python3

这篇文章我们选择最新的稳定版本3.6.5,如有更新可以自行去官网(https://www.python.org/downloads/source/)查找下载地址。

cd ~ && wget https://www.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

编译安装完成后如图:

image.png

接下来做一条软连接,将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。

image.png

 

4 修改yum配置

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

vim /usr/bin/yum

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

image.png

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

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

vim /usr/libexec/urlgrabber-ext-down

image.png

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

image.png

接下来就愉快地用python3写程序吧~