CentOS系统自带Python2, 部分关键应用依赖于它, 比如关键组件yum。 当我惯性的yum remove python的时候, 系统很礼貌的送给我一行: “Error: Trying to remove "yum", which is protected”。 所以,内心有辣么一丝丝的不悦...那奏暂且留下你吧,客官们还等着呢。
安装python3的依赖
yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
获取python3源码。示例是 3.3.6, wget之。源 https://www.python.org/ftp/py...
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz
xz -d Python-3.6.6.tar.xz
tar -xf Python-3.6.6.tar
cd Python-3.6.6
编译安装
## 注:--enable-optimizations 参数可不加。写在第一行,希望客官能注意到
./configure prefix=/usr/local/python3 --enable-optimizations
make && make install
## 此处有小漫长的等待时间
当看到以下两行则说明成功了 Installing collected packages: setuptools, pip Successfully installed pip-10.0.1 setuptools-39.0.1
这时候不要急于python -V 满足好奇心,先做好善后工作。
备份python2,启用Python3
mv /usr/bin/python /usr/bin/python.bk
mv /usr/bin/pip /usr/bin/pip.bk
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
恢复yum的正常动作 修改/usr/bin/yum和/usr/libexec/urlgrabber-ext-down的首行脚本声明
vim /usr/bin/yum
# 第一行,把/usr/bin/python修改为/usr/bin/python2.7 或者python2(2.7的链接)
vim /usr/libexec/urlgrabber-ext-down
# 同上
验证,收工
python -V
yum
rm -f /usr/bin/python.bk
rm -f /usr/bin/pip.bk