• Installing Python 2.7.2 on Centos 5.2


    Installing Python 2.7.2 on Centos 5.2 - Junk Food for the Brain


    Installing Python 2.7.2 on Centos 5.2

     

    Jan 28th, 2012

    | Comments

    Centos / RHEL5 come with Python v2.4.3, which was relased in 2006 and is as ancient as you can get nowdays. Even other application build scripts require Python >= 2.5 for building, e.g node.js & Spidermonkey 1.8.5. :|

    This is my attempt at building a base Python distro that sits in /opt/python-2.7.2. My goal is to minimize depending on the installed system developement libraries; As in Enterprise-y environments, ‘polluting’ the standard OS image will result in a visit from the XKCD GOTO Raptor.

    tldr; This is the script I created to install Python.

    To start, I installed Centos 5.2 with only the groups @core, @base and @development tools. A few Text-Based Internet utilities were also installed for convinience’s sake.

    I then downloaded Python 2.7.2 and ran the standard configure-make-make install routine, and got this:

    INFO: Can't locate Tcl/Tk libs and/or headers
    
    …Snipped...
    Python build finished, but the necessary bits to build these modules were not found:
    _bsddb             _curses            _curses_panel
    _sqlite3           _ssl               _tkinter
    bsddb185           bz2                dbm
    dl                 gdbm               imageop
    readline           sunaudiodev        zlib
    To find the necessary bits, look in setup.py in detect_modules() for the module's name.
    ….Snip…
    

    FML, I knew this was the beginning of a journey into a rabbit hole.

    This is the install sequence

    sqlite
    bzip2
    zlib
    openssl
    ncurses
    readline
    gdbm
    bsddb
    python
    

    Some decisions I took:

    Not installing the TCL/TK toolkit, as building tk requires X11 libraries which I didn’t install.

    The end result was this:

    Building dbm using bdb
    INFO: Can't locate Tcl/Tk libs and/or headers
    
    Python build finished, but the necessary bits to build these modules were not found:
    _tkinter           bsddb185           dl
    imageop            sunaudiodev
    To find the necessary bits, look in setup.py in detect_modules() for the module's name.
    

    sunaudiodev is is for Sun platforms,dl for 32bit platforms, imageop is deprecated and bsddb185 is undocumented.

    What the script does:

    * created a directory called src and build.

    * Downloads the required libraries and compiles them in build
    * installs them all in /opt/python-2.7.2
    * Removing this should be as easy as rm -rf /opt/python-2.7.2

    If you wish to modify the install path, edit the PREFIX option in the script.

    References:
    * andrew.io
    * Equatorian

    Similar Projects that Address this issue (more elegantly)
    * pythonbrew
    * pybuild

  • 相关阅读:
    leetcode 之 Palindrome Partitioning
    虚拟机共享文件夹下tar
    leetcode 之 Excel Sheet Column Number
    AndroidHttpClient & jsoup 解析 正方教务系统
    查看android下的分区表
    ubuntukylin 下编译 android4.4
    android:layout_weight 和 android: weightSum的使用
    Intent 与Bundle的传值关系
    使用自定义的Toast
    SlideMenu例子解析2
  • 原文地址:https://www.cnblogs.com/lexus/p/2368022.html
Copyright © 2020-2023  润新知