最近在工作中遇到了一个问题,就是有一个功能希望在各个服务器上实现,服务器上的系统版本可能不一样,有些是CentOS6.x,有些是CentOS7.x。需要注意一点,CentOS6.x上的Python版本是2.6.x,CentOS7.x上的Python版本是2.7.x,也就是说我要实现的功能必须要适配这两个版本的系统.你可能会说,怎么了,自己写的时候注意点就好了。事情其实并没有那么容易。我要实现的功能是基于一个框架定制的,需要修改很多框架代码。这个框架在不同的Linux版本上有不同的版本,差异巨大。曾经想过在CentOS6.x和CentOS7.x上安装同版本的这个框架,最后还是失败了,无法安装。原因是高版本需要Python2.7,而CentOS6.x上只有Python2.6可用。这个历史问题一直遗留至今。由于这个功能影响的代码比较多,所以分别定制两个版本的框架会花费很多时间。为了不维护两套版本,避免浪费冗余我决定将CentOS6.x上默认的Python2.6升级到Python2.7。以下是整个升级过程。虽然步骤很简单,但是这些简化的步骤背后却隐藏着很多陷阱。我踩上去之后,你就可以直接使用了。首先确认您机器上的默认Python版本$python-VPython2.6.6$whereispythonpython:/usr/bin/python/usr/bin/python2.6/usr/lib/python2.6/usr/lib64/python2.6/usr/local/bin/python/usr/include/python2.6/usr/share/man/man1/python.1.gz由于我们会使用编译安装的方式,所以需要安装gcc和一些工具包。注意一定要全部安装,不然后面会发现很多python工具都不能用了。比如不安装zlib就不能安装setuptools,不安装openssl和openssl-devel就不能使用pip工具等$yuminstallgcc-y$yumgroupinstall"Developmenttools"$yuminstallzlib-develbzip2-developensslopenssl-develncurses-develsqlite-devel-y如果你没有按照我这里的步骤安装,以后使用的时候会遇到各种问题,别不慌,再回来这里,把卸载的打包,安装完成后,需要进入第四步,重新编译安装Python。下载最新的Python2.7.x安装包,解压进入指定目录$wgethttps://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz$tarzxvfPython-2.7.14.tgz$cdPython-2.7.14配置、编译、安装#--prefix指定python安装路径$./configure--prefix=/usr/local/python/python2.7$make$makeinstall./configure命令执行后,创建一个文件creatingMakefile,供后面的make命令使用。执行makeinstall后,程序就会安装到我们指定的目录下。Configure是一个具有许多选项的可执行脚本。使用命令./configure–help输出要安装的源代码路径下的详细选项列表。--prefix选项是配置安装的路径。如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件放在/usr/local/lib默认情况下。usr/local/etc,其他资源文件放在/usr/local/share。如果配置--prefix,比如:./configure--prefix=/usr/local/test,就可以把所有的资源文件都放在/usr/local/test的路径下,不会乱。使用--prefix选项的另一个好处是卸载或移植软件。当某个已安装的软件不再需要时,只需删除安装目录,即可彻底卸载该软件;移植软件只需要将整个目录复制到另一台机器(相同操作系统)即可。当然,要卸载程序,也可以在原来的make目录下使用一次makeuninstall,但前提是make文件中指定了uninstall。查看系统的Python版本$python-VPython2.6.6如果仍然查看Python2.6.6版本,请继续第六步。修改系统默认Python版本查看新安装的Python版本,系统当前Python版本,将系统指向的Python从2.6改为2.6。就是我们刚刚安装的Python$/usr/local/bin/python2.7-VPython2.7.14#这是系统默认的Python$/usr/bin/python-VPython2.6.6#备份原来的Python文件$mv/usr/bin/python/usr/bin/python.bak#创建软链接,使用我们刚刚安装的python2.7作为系统默认版本ln-s/usr/local/bin/python2.7/usr/bin/python#再次查看Python版本,已经切换成功$python-VPython2.7.14重新指定yum的Python版本上面我们更改了系统默认的Python版本,因为CentOS6的yum。x是基于Python2.6的,为了不影响使用yum,需要单独将yum指向python2.6版本。编辑:vim/usr/bin/yum,将/usr/bin/python改为/usr/bin/python2.6#!/usr/bin/python2.6installsetuptools和pippip是一个python安装工具,很多python常用工具可以通过pip安装。要安装pip,首先要安装setuptools。从这个链接,你可以得到相关信息:https://pypi.python.org/pypi/...#下载setuptools$wgethttps://pypi.python.org/packages/ff/d4/209f4939c49e31f5524fa0027bf1c8ec3107abaf7c61fdaad704a648c281/setuptools-21.0.0.tar.gz#md5=81964fdb89534118707742e6d1a1ddb4同样安装:$tarvxfsetuptools-21.0.0.tar.gz$cdsetuptools-21.0.0$pythonsetup.pyinstall安装完成后下载pip。其信息位于以下网站:https://pypi.python.org/pypi/pip#下载pipwgethttps://pypi.python.org/packages/41/27/9a8d24e1b55bd8c85e4d022da2922cb206f183e2d18fee4e320c9547e751/pip-8.1.1.tar。gz#md5=6b86f11841e89c8241d689956ba99ed7同样安装$tarvxfpip-8.1.1.tar.gz$cdpip-8.1.1$pythonsetup.pyinstall安装完成后执行piplist查看安装包。如果没有异常,那就万事大吉了。或者你也可以尝试安装第三方包pipinstallrequests。参考文章https://www.cnblogs.com/stone...
