CentOS 升级Python2.6 到 2.7

    xiaoxiao2021-03-26  28

    因为CentOS系统中旧版本的Python已被深度依赖,所以不能卸载原有的Python,只能全新安装。

    1.下载Pyhon,选择下载Gzipped source tar ball (2.7.11) (sig)

    网址https://www.python.org/download/releases/2.7.11

    2.解压安装,命令如下

    tar -xvf Python-2.7.11.tgz

    cd Python-2.7.11

     ./configure --prefix=/usr/local/python2.7 --enable-shared

    make

    sudo make install

    这里加了configure的时候加了--enable-shared参数,主要是为了让其他软件共享python的动态链接库,后续安装mod_wsgi模块的时候用的上,--with-ssl用于编译_ssl模块。安装完后运行python会提示:

    error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

    解决方法如下: (1).编辑      vi /etc/ld.so.conf  如果是非root权限帐号登录,使用 sudo vi /etc/ld.so.conf  添加上python2.7的lib库地址,如我的/usr/local/python2.7/lib,保存文件 (2).执行 /sbin/ldconfig -v命令,如果是非root权限帐号登录,使用 sudo  /sbin/ldconfig -v。这样 ldd 才能找到这个库,执行python2.7就不会报错了 (/etc/ld.so.conf: 这个文件记录了编译时使用的动态链接库的路径。 默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件 如果你安装了某些库,没有指定 --prefix=/usr 这样lib库就装到了/usr/local下,而又没有在/etc/ld.so.conf中添加/usr/local/lib,就会报错了)

    3.创建链接来使系统默认python变为python2.7

    ln -fs /usr/local/python2.7/bin/python2.7 /usr/bin/python

    4.修改yum配置(否则yum无法正常运行)

    vi /usr/bin/yum

    将第一行的#!/usr/bin/python修改为系统原有的python版本地址#!/usr/bin/python2.6

    5,解决ssl模块无法编译的问题(web服务需要)

    安装openssl-devel

    yum install openssl-devel

    安装结果查看:rpm -aq|grep openssl

    openssl-devel-1.0.1e-48.tl1.5.x86_64 openssl098e-0.9.8e-18.tl1.2.i686 openssl098e-0.9.8e-18.tl1.2.x86_64 openssl-1.0.1e-48.tl1.5.x86_64 openssl-1.0.1e-48.tl1.5.i686

    6,安装pip

    先安装setuptools-21.0.0.zip(sudo)然后安装 pip-9.0.1.tar.gz(sudo)
    转载请注明原文地址: https://ju.6miu.com/read-659880.html

    最新回复(0)