centos6 默认python 2.6.6 升级 python2.7 过程
1. 安装python2.7编译所需依赖:
yum -y install readline-devel sqlite-devel bzip2-devel.i686 openssl-devel.i686 gdbm-devel.i686 libdbi-devel.i686 ncurses-libs zlib-devel.i686
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
2. 下载python2.7安装包
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz
tar -xf Python-2.7.9.tar.xz
3. 编译
cd /Python-2.7.9/
./configure --prefix=/usr/local/python27 && make
我们编译的时候,系统没有办法找到对应的模块信息,为了解决这些报错,我们就需要提前安装依赖包,这些依赖包对应列表如下 :
模块 依赖 说明
_bsddb bsddb Interface to Berkeley DB library。Berkeley数据库的接口
_curses ncurses Terminal handling for character-cell displays。
_curses_panel ncurses A panel stack extension for curses。
_sqlite3 sqlite DB-API 2.0 interface for SQLite databases。SqlLite,CentOS可以安装sqlite-devel
_ssl openssl-devel.i686 TLS/SSL wrapper for socket objects。
_tkinter N/A a thin object-oriented layer on top of Tcl/Tk。如果不使用桌面程序可以忽略TKinter
bsddb185 old bsddb module 老的bsddb模块,可忽略。
bz2 bzip2-devel.i686 Compression compatible with bzip2。bzip2-devel
dbm bsddb Simple “database” interface。
dl N/A Call C functions in shared objects.Python2.6开始,已经弃用。
gdbm gdbm-devel.i686 GNU’s reinterpretation of dbm
imageop N/A Manipulate raw image data。已经弃用。
readline readline-devel GNU readline interface
sunaudiodev N/A Access to Sun audio hardware。这个是针对Sun平台的,CentOS下可以忽略
zlib Zlib Compression compatible with gzip
在CentOS下,可以安装这些依赖包:readline-devel,sqlite-devel,bzip2-devel.i686,openssl-devel.i686,gdbm-devel.i686,libdbi-devel.i686,ncurses-libs,zlib-devel.i686。完成这些安装之后,可以再次编译,上表中指定为弃用或者忽略的模块错误可以忽略。
4. 安装
make install
echo $?
确定python2.7 是否安装成功
/usr/local/python27/bin/python -V
Python 2.7.9
备份python2.6 版本python
mv /usr/bin/python /usr/bin/python2.6.6
链接2.7版本python
ln -s /usr/local/python27/bin/python /usr/bin/python
python -V
[root@hn-web01-2-190 src]# python -V
Python 2.7.9
5. 修改yum所依赖的python
vim /usr/bin/yum
[root@hn-web01-2-190 src]# head -n1 /usr/bin/yum
#!/usr/bin/python2.6.6
测试yum是否可用
yum repolist
yum install lsof
6. 安装pip
cd /usr/local/src/
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
pip -V
[root@hn-web01-2-190 src]# pip -V
pip 18.1 from /usr/local/python27/lib/python2.7/site-packages/pip (python 2.7)
如果pip安装失败可以尝试 easy_install pip