From a85e207cc4a16dcb7ed65c36e7f98ad37564f3f4 Mon Sep 17 00:00:00 2001 From: sylvain thenault Date: Wed, 21 Jan 2009 09:39:49 +0100 Subject: setuptools integration --- setup.py | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index ab54566..7f5bc6a 100644 --- a/setup.py +++ b/setup.py @@ -11,11 +11,20 @@ __docformat__ = "restructuredtext en" import os import sys import shutil -from distutils.core import setup -from distutils import command -from distutils.command import install_lib from os.path import isdir, exists, join, walk +try: + from setuptools import setup + from setuptools import command + from setuptools.command import install_lib + USE_SETUPTOOLS = 1 +except ImportError: + from distutils.core import setup + from distutils import command + from distutils.command import install_lib + USE_SETUPTOOLS = 0 + + # import required features from __pkginfo__ import modname, version, license, short_desc, long_desc, \ web, author, author_email @@ -44,6 +53,10 @@ try: from __pkginfo__ import ext_modules except ImportError: ext_modules = None +try: + from __pkginfo__ import install_requires +except ImportError: + install_requires = None STD_BLACKLIST = ('CVS', '.svn', '.hg', 'debian', 'dist', 'build') @@ -119,7 +132,12 @@ def export(from_dir, to_dir, walk(from_dir, make_mirror, None) -EMPTY_FILE = '"""generated file, don\'t modify or your data will be lost"""\n' +EMPTY_FILE = '''"""generated file, don\'t modify or your data will be lost""" +try: + __import__('pkg_resources').declare_namespace(__name__) +except ImportError: + pass +''' class BuildScripts(command.install_lib.install_lib): @@ -145,9 +163,13 @@ def install(**kwargs): package = subpackage_of + '.' + modname kwargs['package_dir'] = {package : '.'} packages = [package] + get_packages(os.getcwd(), package) + if USE_SETUPTOOLS: + kwargs['namespace_packages'] = [subpackage_of] else: kwargs['package_dir'] = {modname : '.'} packages = [modname] + get_packages(os.getcwd(), modname) + if USE_SETUPTOOLS and install_requires: + kwargs['install_requires'] = install_requires kwargs['packages'] = packages return setup(name = distname, version = version, -- cgit v1.2.1