我们知道,在CentOS 6.x和RHEL 6.x系统下,默认的Python版本是2.6。
在一些运维业务场景下,我们需要使用到Python-2.7的版本,这里来说说怎么通过源码安装最新的Python-2.7。官方发布的2.7系列的版本最新已经是2.7.13。
从官网把2.7的源码下载下来:
wget --no-check-certificate https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tar.xz
ps:国内搜狐镜像http://mirrors.sohu.com/python/
源码包是xz格式的,解压命令
tar Jxf Python-2.7.13.**tar.xz**
解压bz2用tar jxf filename.tar.bz2,留意区别。
安装系统依赖包
yum install readline-devel sqlite-devel zlib-devel openssl-devel
注意:readline如果不装的话,python终端无法使用退格键,在make install的过程中也会提示缺少readline。
编译安装
可以使用configure --help查看Python支持的源码编译参数,这里进行常规编译配置,参数如下:
cd Python-2.7.13
./configure --prefix=/usr/local/python2.7 \
--enable-shared \
--enable-unicode \
--enable-ipv6 \
--with-threads \
--with-thread
make -j 2 && make install
安装后的配置
当执行完make install之后,如果直接运行Python2.7的话,是会报错误找不到libpython2.7.so.1.0文件:
echo /usr/local/python2.7/lib > /etc/ld.so.conf.d/python27.conf
然后记得重载动态链接库
ldconfig -v
为了方便调用,给Py2.7做一个软链接:
ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python2.7
安装easy_install
在官网下载最新的Setuptools:
https://pypi.python.org/pypi/setuptools
解压zip源码包,执行下面的命令安装:
/usr/local/python2.7/bin/python2.7 setup.py install --prefix=/usr/local/python2.7
注意:这里Python2.7要写全路径。
给easy_install做一个软连接:
ln -s /usr/local/python2.7/bin/easy_install-2.7 /usr/bin/easy_install-2.7
安装Python的常用模块
easy_install-2.7 -Z redis
easy_install-2.7 -Z psutil
easy_install-2.7 -Z MySQL-python
easy_install-2.7 -Z django
easy_install-2.7 -Z tornado
……
安装pip
在安装完easy_install后,再安装pip就比较容易了:
easy_install-2.7 -Z pip
小结**
完成了整个Python2.7的安装后,其实不建议把系统默认的Python改为2.7。在发行版的Linux系统中,对软件的版本有比较严格的匹配标准,在升级或者变更一些系统默认软件的版本后,会引发一系列的依赖问题,所以不建议这么做。
其实,安装Python2.7也不一定非要使用源代码来编译安装,可以使用第三方的Yum源来快速安装。这个具体需要看业务使用场景,没有一定的标准。
网友评论