由于自学python3,需要在服务器上调试python程序。在centos中,自带有python2,因此需要经常安装python3。但是这里有一个坑,就是centos的yum是用python2写的,如果正常编译安装python3,那么yum就会直接挂了。为了方便以后编译安装python3,不用天天去网上找教程,准备写下这篇文章,供日后参考。
首先连上服务器,看下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,如有更新可以自行去官网(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
编译安装完成后如图:
接下来做一条软连接,将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,已经恢复正常:
接下来就愉快地用python3写程序吧~