diff --git a/setup.py b/setup.py index 5031f3d31d8e06056aa0be95dd42b7f246a91e48..5f27b193a266ccf27dd12556caa705bff2e2d8d2 100755 --- a/setup.py +++ b/setup.py @@ -1,156 +1,156 @@ -#! /usr/bin/env python -# -# Copyright (C) 2007-2009 Cournapeau David <cournape@gmail.com> -# 2010 Fabian Pedregosa <fabian.pedregosa@inria.fr> - -descr = """A set of python modules for machine learning and data mining""" - -import sys -import os -import shutil -from distutils.core import Command - -if sys.version_info[0] < 3: - import __builtin__ as builtins -else: - import builtins - -# This is a bit (!) hackish: we are setting a global variable so that the main -# sklearn __init__ can detect if it is being loaded by the setup routine, to -# avoid attempting to load components that aren't built yet. -builtins.__SKLEARN_SETUP__ = True - -DISTNAME = 'scikit-learn' -DESCRIPTION = 'A set of python modules for machine learning and data mining' -LONG_DESCRIPTION = open('README.rst').read() -MAINTAINER = 'Andreas Mueller' -MAINTAINER_EMAIL = 'amueller@ais.uni-bonn.de' -URL = 'http://scikit-learn.org' -LICENSE = 'new BSD' -DOWNLOAD_URL = 'http://sourceforge.net/projects/scikit-learn/files/' - -# We can actually import a restricted version of sklearn that -# does not need the compiled code -import sklearn - -VERSION = sklearn.__version__ - -############################################################################### -# Optional setuptools features -# We need to import setuptools early, if we want setuptools features, -# as it monkey-patches the 'setup' function - -# For some commands, use setuptools -if len(set(('develop', 'release', 'bdist_egg', 'bdist_rpm', - 'bdist_wininst', 'install_egg_info', 'build_sphinx', - 'egg_info', 'easy_install', 'upload', - '--single-version-externally-managed', - )).intersection(sys.argv)) > 0: - import setuptools - extra_setuptools_args = dict( - zip_safe=False, # the package can run out of an .egg file - include_package_data=True, - ) -else: - extra_setuptools_args = dict() - -############################################################################### - -class CleanCommand(Command): - description = "Remove build directories, and compiled file in the source tree" - user_options = [] - - def initialize_options(self): - self.cwd = None - - def finalize_options(self): - self.cwd = os.getcwd() - - def run(self): - assert os.getcwd() == self.cwd, 'Must be in package root: %s' % self.cwd - if os.path.exists('build'): - shutil.rmtree('build') - for dirpath, dirnames, filenames in os.walk('sklearn'): - for filename in filenames: - if (filename.endswith('.so') or filename.endswith('.pyd') - or filename.endswith('.dll') - or filename.endswith('.pyc')): - os.unlink(os.path.join(dirpath, filename)) - - - -############################################################################### -def configuration(parent_package='', top_path=None): - if os.path.exists('MANIFEST'): - os.remove('MANIFEST') - - from numpy.distutils.misc_util import Configuration - config = Configuration(None, parent_package, top_path) - - # Avoid non-useful msg: - # "Ignoring attempt to set 'name' (from ... " - config.set_options(ignore_setup_xxx_py=True, - assume_default_configuration=True, - delegate_options_to_subpackages=True, - quiet=True) - - config.add_subpackage('sklearn') - - return config - - -def setup_package(): - metadata = dict(name=DISTNAME, - maintainer=MAINTAINER, - maintainer_email=MAINTAINER_EMAIL, - description=DESCRIPTION, - license=LICENSE, - url=URL, - version=VERSION, - download_url=DOWNLOAD_URL, - long_description=LONG_DESCRIPTION, - classifiers=['Intended Audience :: Science/Research', - 'Intended Audience :: Developers', - 'License :: OSI Approved', - 'Programming Language :: C', - 'Programming Language :: Python', - 'Topic :: Software Development', - 'Topic :: Scientific/Engineering', - 'Operating System :: Microsoft :: Windows', - 'Operating System :: POSIX', - 'Operating System :: Unix', - 'Operating System :: MacOS', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.6', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.3', - ], - cmdclass={'clean': CleanCommand}, - **extra_setuptools_args) - - if (len(sys.argv) >= 2 - and ('--help' in sys.argv[1:] or sys.argv[1] - in ('--help-commands', 'egg_info', '--version', 'clean'))): - - # For these actions, NumPy is not required. - # - # They are required to succeed without Numpy for example when - # pip is used to install Scikit when Numpy is not yet present in - # the system. - try: - from setuptools import setup - except ImportError: - from distutils.core import setup - - metadata['version'] = VERSION - else: - from numpy.distutils.core import setup - - metadata['configuration'] = configuration - - setup(**metadata) - - -if __name__ == "__main__": - setup_package() +#! /usr/bin/env python +# +# Copyright (C) 2007-2009 Cournapeau David <cournape@gmail.com> +# 2010 Fabian Pedregosa <fabian.pedregosa@inria.fr> + +descr = """A set of python modules for machine learning and data mining""" + +import sys +import os +import shutil +from distutils.core import Command + +if sys.version_info[0] < 3: + import __builtin__ as builtins +else: + import builtins + +# This is a bit (!) hackish: we are setting a global variable so that the main +# sklearn __init__ can detect if it is being loaded by the setup routine, to +# avoid attempting to load components that aren't built yet. +builtins.__SKLEARN_SETUP__ = True + +DISTNAME = 'scikit-learn' +DESCRIPTION = 'A set of python modules for machine learning and data mining' +LONG_DESCRIPTION = open('README.rst').read() +MAINTAINER = 'Andreas Mueller' +MAINTAINER_EMAIL = 'amueller@ais.uni-bonn.de' +URL = 'http://scikit-learn.org' +LICENSE = 'new BSD' +DOWNLOAD_URL = 'http://sourceforge.net/projects/scikit-learn/files/' + +# We can actually import a restricted version of sklearn that +# does not need the compiled code +import sklearn + +VERSION = sklearn.__version__ + +############################################################################### +# Optional setuptools features +# We need to import setuptools early, if we want setuptools features, +# as it monkey-patches the 'setup' function + +# For some commands, use setuptools +if len(set(('develop', 'release', 'bdist_egg', 'bdist_rpm', + 'bdist_wininst', 'install_egg_info', 'build_sphinx', + 'egg_info', 'easy_install', 'upload', + '--single-version-externally-managed', + )).intersection(sys.argv)) > 0: + import setuptools + extra_setuptools_args = dict( + zip_safe=False, # the package can run out of an .egg file + include_package_data=True, + ) +else: + extra_setuptools_args = dict() + +############################################################################### + +class CleanCommand(Command): + description = "Remove build directories, and compiled file in the source tree" + user_options = [] + + def initialize_options(self): + self.cwd = None + + def finalize_options(self): + self.cwd = os.getcwd() + + def run(self): + assert os.getcwd() == self.cwd, 'Must be in package root: %s' % self.cwd + if os.path.exists('build'): + shutil.rmtree('build') + for dirpath, dirnames, filenames in os.walk('sklearn'): + for filename in filenames: + if (filename.endswith('.so') or filename.endswith('.pyd') + or filename.endswith('.dll') + or filename.endswith('.pyc')): + os.unlink(os.path.join(dirpath, filename)) + + + +############################################################################### +def configuration(parent_package='', top_path=None): + if os.path.exists('MANIFEST'): + os.remove('MANIFEST') + + from numpy.distutils.misc_util import Configuration + config = Configuration(None, parent_package, top_path) + + # Avoid non-useful msg: + # "Ignoring attempt to set 'name' (from ... " + config.set_options(ignore_setup_xxx_py=True, + assume_default_configuration=True, + delegate_options_to_subpackages=True, + quiet=True) + + config.add_subpackage('sklearn') + + return config + + +def setup_package(): + metadata = dict(name=DISTNAME, + maintainer=MAINTAINER, + maintainer_email=MAINTAINER_EMAIL, + description=DESCRIPTION, + license=LICENSE, + url=URL, + version=VERSION, + download_url=DOWNLOAD_URL, + long_description=LONG_DESCRIPTION, + classifiers=['Intended Audience :: Science/Research', + 'Intended Audience :: Developers', + 'License :: OSI Approved', + 'Programming Language :: C', + 'Programming Language :: Python', + 'Topic :: Software Development', + 'Topic :: Scientific/Engineering', + 'Operating System :: Microsoft :: Windows', + 'Operating System :: POSIX', + 'Operating System :: Unix', + 'Operating System :: MacOS', + 'Programming Language :: Python :: 2', + 'Programming Language :: Python :: 2.6', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.3', + ], + cmdclass={'clean': CleanCommand}, + **extra_setuptools_args) + + if (len(sys.argv) >= 2 + and ('--help' in sys.argv[1:] or sys.argv[1] + in ('--help-commands', 'egg_info', '--version', 'clean'))): + + # For these actions, NumPy is not required. + # + # They are required to succeed without Numpy for example when + # pip is used to install Scikit when Numpy is not yet present in + # the system. + try: + from setuptools import setup + except ImportError: + from distutils.core import setup + + metadata['version'] = VERSION + else: + from numpy.distutils.core import setup + + metadata['configuration'] = configuration + + setup(**metadata) + + +if __name__ == "__main__": + setup_package()