zoukankan      html  css  js  c++  java
  • CentOS 6.9安装Python2.7.13

    查看当前系统中的 Python 版本

    python --version

    返回 Python 2.6.6 为正常。

    检查 CentOS 版本

    cat /etc/redhat-release

    返回 CentOS release 6.9 (Final) 为正常。

    安装所有的开发工具包

    yum groupinstall -y "Development tools"

    安装其它的必需包

    yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel

    下载、编译和安装 Python 2.7.13

    wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
    tar zxf Python-2.7.13.tgz
    cd Python-2.7.13
    ./configure
    make && make install

    默认 Python 2.7.13 会安装在 /usr/local/bin 目录下。

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

    而系统自带的 Python 是在 /usr/bin 目录下。

    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
    

    更新系统默认 Python 版本

    先把系统默认的旧版 Python 重命名。

    mv /usr/bin/python /usr/bin/python.old
    

    再删除系统默认的 python-config 软链接。

    rm -f /usr/bin/python-config
    

    最后创建新版本的 Python 软链接。

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

    以上步骤做完以后,目录 /usr/bin 下的 Python 应该是

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

    查看新的 Python 版本

    python --version

    返回 Python 2.7.13 为正常。

    以下步骤还是有必要的

    为新版 Python 安装 setuptools

    wget https://bootstrap.pypa.io/ez_setup.py -O - | python

    setuptools 正确安装完成后,easy_install 命令就会被安装在 /usr/local/bin 目录下了。

    为新版 Python 安装 pip

    easy_install pip

    正确安装完成后,pip 命令就会被安装在 /usr/local/bin 目录下了。

    为新版 Python 安装 distribute 包(可选)

    pip install distribute

    至此,新版 Python 即算安装完毕了。

    注意:这可能会导致以前安装过的 Python 程序运行不了或者无法重启之类的(比如著名的 Shadowsocks Python 版)。原因是旧版的 pkg_resources 位于 /usr/lib/python2.6/site-packages 下。而新版的则是在 /usr/local/lib/python2.7/site-packages 下。 所以,也许你需要重新安装一下程序。

    再次注意:升级 Python 可能会导致 yum 命令不可用。解决方法如下: 编辑 /usr/bin/yum 文件,将开头第一行的

    #!/usr/bin/python

    改为

    #!/usr/bin/python2.6

    但是,这种改法,万一哪天你 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/

    我的复制过程是这样的:

    cp -r /usr/lib/python2.6/site-packages/yum /usr/local/lib/python2.7/site-packages/
    cp -r /usr/lib/python2.6/site-packages/rpmUtils /usr/local/lib/python2.7/site-packages/
    cp -r /usr/lib/python2.6/site-packages/iniparse /usr/local/lib/python2.7/site-packages/
    cp -r /usr/lib/python2.6/site-packages/urlgrabber /usr/local/lib/python2.7/site-packages/
    cp -r /usr/lib64/python2.6/site-packages/rpm /usr/local/lib/python2.7/site-packages/
    cp -r /usr/lib64/python2.6/site-packages/curl /usr/local/lib/python2.7/site-packages/
    cp -p /usr/lib64/python2.6/site-packages/pycurl.so /usr/local/lib/python2.7/site-packages/
    cp -p /usr/lib64/python2.6/site-packages/_sqlitecache.so /usr/local/lib/python2.7/site-packages/
    cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.py /usr/local/lib/python2.7/site-packages/
    cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyc /usr/local/lib/python2.7/site-packages/
    cp -p /usr/lib64/python2.6/site-packages/sqlitecachec.pyo /usr/local/lib/python2.7/site-packages/

    转载请注明:秋水逸冰 » CentOS 6.9安装Python2.7.13

  • 相关阅读:
    CSS3 target伪类简介
    不用position,让div垂直居中
    css3 在线编辑工具 连兼容都写好了
    a标签伪类的顺序
    oncopy和onpaste
    【leetcode】1523. Count Odd Numbers in an Interval Range
    【leetcode】1518. Water Bottles
    【leetcode】1514. Path with Maximum Probability
    【leetcode】1513. Number of Substrings With Only 1s
    【leetcode】1512. Number of Good Pairs
  • 原文地址:https://www.cnblogs.com/liuys635/p/10776693.html
Copyright © 2011-2022 走看看