zoukankan      html  css  js  c++  java
  • python2.7源码编译安装

    最近学习docker容器,因为平时用的linux发型版都是centos6系列,所有pull了一个centos:6.6的景像,运行景像,进入容器后,发现其默认的python环境是2.6,为了更好的兼容我们公司的一些脚本,要升级python版本至少为2.7。下面就是升级python的过程以及可能遇到的问题。

    1.首先要安装一些必要的库

    centos6.6的docker容器中是没有gcc库的,首先安装gcc库

    yum install gcc
    

    安装其他必要库,这些库要在编译python源码前安装,在后续安装pip的过程中因为缺失这些导致重新编python译源码n次,着实烦恼啊。

    yum install zlib
    yum install zlib-devel
    yum install openssl
    yum install openssl-devel
    
    2.下载python源码包及其他必要工具包

    首先下载python源码包,官网下载地址 https://www.python.org/downloads

    wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
    

    解压到指定目录

    tar -xzf Python-2.7.14.tgz
    

    下载setuptool和pip(用来管理python依赖包)

     wget https://pypi.python.org/packages/41/5f/6da80400340fd48ba4ae1c673be4dc3821ac06cd9821ea60f9c7d32a009f/setuptools-38.4.0.zip#md5=3426bbf31662b4067dc79edc0fa21a2e
     
    wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
    
    3.编译python源码

    首先生成python安装路径,我这里将安装路径放在/usr/local下面

    mkdir /usr/local/python2.7
    

    进入解压的源码路径,运行下面命令生成Makefile

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

    --enable-optimizations 为最优安装,建议使用这个参数。--prefix 声明安装路径

    修改 Modules/Setup 文件,修改内容如下

         # Socket module helper for SSL support; you must comment out the other
        # socket line above, and possibly edit the SSL variable:
        #SSL=/usr/local/ssl
        _ssl _ssl.c 
                -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl 
                -L$(SSL)/lib -lssl -lcrypto
    

    默认这块是注释的,放开注释即开。这块功能是开启SSL模块,不然会出现安装完毕后,提示找不到ssl模块的错误。

    Makefile生后依次在当前路径执行编译和安装命令

    make & make install
    

    以上命令执行完毕,且无报错的情况下,我们将默认python换将切换至2.7,保险起见现将软链备份。

    cd /usr/bin
    
    mv python python.bak
    

    建立新的软链

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

    运行命令python -V,查看是否出现2.7的版本,出现即为安装成功。

    4.安装pip工具

    首先进入setuptools的解目录,执行命令

    python setup.py install
    

    命令执行成功后,在进入pip-9.0.1的解压目录,执行命令

    python setup.py install
    

    至此,我们的升级工作完成。

  • 相关阅读:
    LA 2038 Strategic game(最小点覆盖,树形dp,二分匹配)
    UVA 10564 Paths through the Hourglass(背包)
    Codeforces Round #323 (Div. 2) D 582B Once Again...(快速幂)
    UVALive 3530 Martian Mining(贪心,dp)
    UVALive 4727 Jump(约瑟夫环,递推)
    UVALive 4731 Cellular Network(贪心,dp)
    UVA Mega Man's Mission(状压dp)
    Aizu 2456 Usoperanto (贪心)
    UVA 11404 Plalidromic Subsquence (回文子序列,LCS)
    Aizu 2304 Reverse Roads(无向流)
  • 原文地址:https://www.cnblogs.com/ITer-jack/p/8305912.html
Copyright © 2011-2022 走看看