CentOS 7.3 升级Python 2.7.13

Centos7自动的 python 版本为2.7.5,要升级到2.7.x 的最新版。

安装依赖:

1
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel gcc openssl-devel

下载并正确配置

1
2
3
#官网下载python源代码
wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
tar -zxvf Python-2.7.13.tgz

编译并安装

1
2
3
4
5
cd Python-2.7.13/
#请注意一定要加 `--enable-shared --prefix=/usr/local CFLAGS=-fPIC LDFLAGS="-Wl,-rpath /usr/local/lib" --enable-unicode=ucs4`
./configure --enable-shared --prefix=/usr/local CFLAGS=-fPIC LDFLAGS="-Wl,-rpath /usr/local/lib" --enable-unicode=ucs4
make -j24
sudo make install

替换旧版本

请注意千万不要覆盖原有的系统自带的python,否则会导致yum不再可用,无法修复

1
2
3
4
mv /usr/bin/python /usr/bin/python2.7.5
ln -sf /usr/local/bin/python /usr/bin/python
#验证版本
python -V

修改配置文件,解决yum、firewall-cmd等报错问题

1
2
3
vi /usr/bin/yum
#修改第一句,替换成保留的2.7.5的版本:
!/usr/bin/python2.7.5

修改/usr/libexec/urlgrabber-ext-down下的第一句:

1
!/usr/bin/python2.7.5

修改/usr/bin/firewall-cmd下的第一句:

1
#!/usr/bin/python2.7.5 -Es

修改/sbin/authconfig下的第一句:

1
#!/usr/bin/python2.7.5

安装setuptools

1
2
wget https://bootstrap.pypa.io/ez_setup.py
python ez_setup.py

安装最新版本的pip

1
2
3
4
5
6
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

ln -s /usr/local/bin/pip /usr/bin/pip
ln -s /usr/local/bin/pip /usr/bin/pip2
pip -V

Comments

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×