Show
Ignore:
Timestamp:
08/21/08 04:11:59 (3 months ago)
Author:
gaph..@gmail.com
Message:

new ez_setup version

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gaphas/trunk/ez_setup.py

    r1149 r2349  
    1515""" 
    1616import sys 
    17 DEFAULT_VERSION = "0.6c5
    18 DEFAULT_URL     = "http://cheeseshop.python.org/packages/%s/s/setuptools/" % sys.version[:3] 
     17DEFAULT_VERSION = "0.6c8
     18DEFAULT_URL     = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3] 
    1919 
    2020md5_data = { 
     
    4040    'setuptools-0.6c5-py2.4.egg': 'afe2adf1c01701ee841761f5bcd8aa64', 
    4141    'setuptools-0.6c5-py2.5.egg': 'a8d3f61494ccaa8714dfed37bccd3d5d', 
     42    'setuptools-0.6c6-py2.3.egg': '35686b78116a668847237b69d549ec20', 
     43    'setuptools-0.6c6-py2.4.egg': '3c56af57be3225019260a644430065ab', 
     44    'setuptools-0.6c6-py2.5.egg': 'b2f8a7520709a5b34f80946de5f02f53', 
     45    'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2', 
     46    'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e', 
     47    'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372', 
     48    'setuptools-0.6c8-py2.3.egg': '50759d29b349db8cfd807ba8303f1902', 
     49    'setuptools-0.6c8-py2.4.egg': 'cba38d74f7d483c06e9daa6070cce6de', 
     50    'setuptools-0.6c8-py2.5.egg': '1721747ee329dc150590a58b3e1ac95b', 
    4251} 
    4352 
     
    7281    an attempt to abort the calling script. 
    7382    """ 
    74     try: 
    75         import setuptools 
    76         if setuptools.__version__ == '0.0.1': 
    77             print >>sys.stderr, ( 
    78             "You have an obsolete version of setuptools installed.  Please\n" 
    79             "remove it from your system entirely before rerunning this script." 
    80             ) 
    81             sys.exit(2) 
    82     except ImportError: 
     83    was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules 
     84    def do_download(): 
    8385        egg = download_setuptools(version, download_base, to_dir, download_delay) 
    8486        sys.path.insert(0, egg) 
    8587        import setuptools; setuptools.bootstrap_install_from = egg 
    86  
    87     import pkg_resources 
    88     try: 
    89         pkg_resources.require("setuptools>="+version) 
    90  
     88    try: 
     89        import pkg_resources 
     90    except ImportError: 
     91        return do_download()        
     92    try: 
     93        pkg_resources.require("setuptools>="+version); return 
    9194    except pkg_resources.VersionConflict, e: 
    92         # XXX could we install in a subprocess here? 
    93         print >>sys.stderr, ( 
     95        if was_imported: 
     96            print >>sys.stderr, ( 
    9497            "The required version of setuptools (>=%s) is not available, and\n" 
    9598            "can't be installed while this script is running. Please install\n" 
    96             " a more recent version first.\n\n(Currently using %r)" 
    97         ) % (version, e.args[0]) 
    98         sys.exit(2) 
     99            " a more recent version first, using 'easy_install -U setuptools'." 
     100            "\n\n(Currently using %r)" 
     101            ) % (version, e.args[0]) 
     102            sys.exit(2) 
     103        else: 
     104            del pkg_resources, sys.modules['pkg_resources']    # reload ok 
     105            return do_download() 
     106    except pkg_resources.DistributionNotFound: 
     107        return do_download() 
    99108 
    100109def download_setuptools( 
     
    145154    return os.path.realpath(saveto) 
    146155 
     156 
     157 
     158 
     159 
     160 
     161 
     162 
     163 
     164 
     165 
     166 
     167 
     168 
     169 
     170 
     171 
     172 
     173 
     174 
     175 
     176 
     177 
     178 
     179 
     180 
     181 
     182 
     183 
     184 
     185 
     186 
     187 
     188 
     189 
     190 
    147191def main(argv, version=DEFAULT_VERSION): 
    148192    """Install or upgrade setuptools and EasyInstall""" 
    149  
    150193    try: 
    151194        import setuptools 
     
    162205    else: 
    163206        if setuptools.__version__ == '0.0.1': 
    164             # tell the user to uninstall obsolete version 
    165             use_setuptools(version) 
     207            print >>sys.stderr, ( 
     208            "You have an obsolete version of setuptools installed.  Please\n" 
     209            "remove it from your system entirely before rerunning this script." 
     210            ) 
     211            sys.exit(2) 
    166212 
    167213    req = "setuptools>="+version 
     
    184230            print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)' 
    185231 
    186  
    187  
    188232def update_md5(filenames): 
    189233    """Update our built-in md5 registry"""