setup.py
branchstable
changeset 5512 e23d681193cd
parent 5426 0d4853a6e5ee
child 6327 73413f2750af
equal deleted inserted replaced
5509:205e708dd5db 5512:e23d681193cd
    25 import sys
    25 import sys
    26 import shutil
    26 import shutil
    27 from os.path import isdir, exists, join, walk
    27 from os.path import isdir, exists, join, walk
    28 
    28 
    29 try:
    29 try:
    30    if os.environ.get('NO_SETUPTOOLS'):
    30     if os.environ.get('NO_SETUPTOOLS'):
    31       raise ImportError() # do as there is no setuptools
    31         raise ImportError() # do as there is no setuptools
    32    from setuptools import setup
    32     from setuptools import setup
    33    from setuptools.command import install_lib
    33     from setuptools.command import install_lib
    34    USE_SETUPTOOLS = True
    34     USE_SETUPTOOLS = True
    35 except ImportError:
    35 except ImportError:
    36    from distutils.core import setup
    36     from distutils.core import setup
    37    from distutils.command import install_lib
    37     from distutils.command import install_lib
    38    USE_SETUPTOOLS = False
    38     USE_SETUPTOOLS = False
    39 
    39 
    40 # import required features
    40 # import required features
    41 from __pkginfo__ import modname, version, license, description, web, \
    41 from __pkginfo__ import modname, version, license, description, web, \
    42      author, author_email
    42      author, author_email
    43 
    43 
    44 long_description = file('README').read()
    44 long_description = file('README').read()
    45 
    45 
    46 # import optional features
    46 # import optional features
    47 import __pkginfo__
    47 import __pkginfo__
    48 if USE_SETUPTOOLS:
    48 if USE_SETUPTOOLS:
    49    requires = {}
    49     requires = {}
    50    for entry in ("__depends__", "__recommends__"):
    50     for entry in ("__depends__", "__recommends__"):
    51       requires.update(getattr(__pkginfo__, entry, {}))
    51         requires.update(getattr(__pkginfo__, entry, {}))
    52    install_requires = [("%s %s" % (d, v and v or "")).strip()
    52     install_requires = [("%s %s" % (d, v and v or "")).strip()
    53                        for d, v in requires.iteritems()]
    53                        for d, v in requires.iteritems()]
    54 else:
    54 else:
    55    install_requires = []
    55     install_requires = []
    56 
    56 
    57 distname = getattr(__pkginfo__, 'distname', modname)
    57 distname = getattr(__pkginfo__, 'distname', modname)
    58 scripts = getattr(__pkginfo__, 'scripts', ())
    58 scripts = getattr(__pkginfo__, 'scripts', ())
    59 include_dirs = getattr(__pkginfo__, 'include_dirs', ())
    59 include_dirs = getattr(__pkginfo__, 'include_dirs', ())
    60 data_files = getattr(__pkginfo__, 'data_files', None)
    60 data_files = getattr(__pkginfo__, 'data_files', None)
   179             kwargs['namespace_packages'] = [subpackage_of]
   179             kwargs['namespace_packages'] = [subpackage_of]
   180     else:
   180     else:
   181         kwargs['package_dir'] = {modname : '.'}
   181         kwargs['package_dir'] = {modname : '.'}
   182         packages = [modname] + get_packages(os.getcwd(), modname)
   182         packages = [modname] + get_packages(os.getcwd(), modname)
   183     if USE_SETUPTOOLS:
   183     if USE_SETUPTOOLS:
   184        kwargs['install_requires'] = install_requires
   184         kwargs['install_requires'] = install_requires
   185     kwargs['packages'] = packages
   185     kwargs['packages'] = packages
   186     return setup(name=distname, version=version, license=license, url=web,
   186     return setup(name=distname, version=version, license=license, url=web,
   187                  description=description, long_description=long_description,
   187                  description=description, long_description=long_description,
   188                  author=author, author_email=author_email,
   188                  author=author, author_email=author_email,
   189                  scripts=ensure_scripts(scripts), data_files=data_files,
   189                  scripts=ensure_scripts(scripts), data_files=data_files,