Centos python2.6.6升级2.7.14

升级前准备:

# yum -y groupinstall "Development tools"

# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
 

下载python最新版本2.7.14并编译安装

wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz

tar zxvf Python-2.7.14.tgz

cd Python-2.7.14

./configure --enable-shared --prefix=/usr/local/python27

make && make install

连接python2.7.so.1.0文件

cp /usr/local/python27/lib/libpython2.7.so.1.0 /usr/local/lib

cd /usr/local/lib

ln -s libpython2.7.so.1.0 libpython2.7.so

查看原有命令地址

ll -tr /usr/bin/python*
/usr/bin/python2.6-config
/usr/bin/python2.6
/usr/bin/python
/usr/bin/python2 -> python
/usr/bin/python-config -> python2.6-config

备份历史

mv /usr/bin/python /usr/bin/python2.6.6
mv /usr/bin/python-config /usr/bin/python2.6.6-config

配置新的

ln -s /usr/local/python27/bin/python2.7  /usr/bin/python
ln -s /usr/local/python27/bin/python2.7  /usr/bin/python2.7
ln -s /usr/local/python27/bin/python-config /usr/bin/python-config

修改yum,(开头)#!/usr/bin/python的python改成python2.6

vim /usr/bin/yum
#!/usr/bin/python
import sys
try:
    import yum

补充:

但是,这种改法,万一哪天你 yum update 了一下,yum 被升级了后,又变回老样子了。
所以,经过我的不懈琢磨和努力,发现了一个办法(网上的解决方案都是抄来抄去,没有一点卵用)。
记住旧版本 Python 2.6.6 的重要路径如下所示,在运行 yum 命令的时候,会提示你哪个 module 不存在,
不存在的我们就去旧版本的路径下找,一定能找到的。
找到后,复制到新版本 Python 的路径 /usr/local/lib/python2.7/site-packages/ 下即可。

/usr/lib/python2.6/site-packages/
/usr/lib64/python2.6/site-packages/
我的复制过程是这样的:
yes|cp -r /usr/lib/python2.6/site-packages/yum /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib/python2.6/site-packages/rpmUtils /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib/python2.6/site-packages/iniparse /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib/python2.6/site-packages/urlgrabber /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib64/python2.6/site-packages/rpm /usr/local/lib/python2.7/site-packages/
yes|cp -r /usr/lib64/python2.6/site-packages/curl /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/pycurl.so /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/_sqlitecache.so /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.py /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyc /usr/local/lib/python2.7/site-packages/
yes|cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyo /usr/local/lib/python2.7/site-packages/

查看新的 Python 版本

python --version

Python 2.7.14

为新版 Python 安装 setuptools

下载setuptools
wget https://pypi.python.org/packages/6f/10/5398a054e63ce97921913052fde13ebf332a3a4104c50c4d7be9c465930e/setuptools-26.1.1.zip#md5=f81d3cc109b57b715d46d971737336db
解压
unzip setuptools-26.1.1.zip
安装
cd setuptools-26.1.1/
python setup.py install
建立连接
ln -sv /usr/local/python27/bin/easy_install  /usr/bin/easy_install

下载pip
wget --no-check-certificate https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a
解压
tar -zxvf pip-8.1.2.tar.gz
安装
cd pip-8.1.2/
python setup.py install
建立连接
ln -sv /usr/local/python27/bin/pip /usr/bin/pip

更新setuptools
easy_install --upgrade setuptools

更新pip版本
pip install -U pip

备注:

修改环境变量
如果想要环境变量永久生效可以修改下面两个文件中的任何一个:
1. vi /etc/profile 
2. vi .bash_profile
其中,/etc/profile是全局的环境变量,对所有用户生效,而.bash_profile只对当前用户启作用。
easy_install(环境)配置
加入
PATH=$PATH:$HOME/bin:/usr/local/python27/bin
再执行
source .bash_profile

猜你喜欢

转载自my.oschina.net/yves175/blog/1789801