Przeglądaj źródła

Changed setup.py to use find_packages.

Florian Apolloner 11 lat temu
rodzic
commit
6ad7bd44c6
1 zmienionych plików z 3 dodań i 51 usunięć
  1. 3 51
      setup.py

+ 3 - 51
setup.py

@@ -1,7 +1,7 @@
 import os
 import sys
 
-from setuptools import setup
+from setuptools import setup, find_packages
 from distutils.sysconfig import get_python_lib
 
 # Warn if we are installing over top of an existing installation. This can
@@ -23,59 +23,11 @@ if "install" in sys.argv:
             break
 
 
-def fullsplit(path, result=None):
-    """
-    Split a pathname into components (the opposite of os.path.join)
-    in a platform-neutral way.
-    """
-    if result is None:
-        result = []
-    head, tail = os.path.split(path)
-    if head == '':
-        return [tail] + result
-    if head == path:
-        return result
-    return fullsplit(head, [tail] + result)
-
-
 EXCLUDE_FROM_PACKAGES = ['django.conf.project_template',
                          'django.conf.app_template',
                          'django.bin']
 
 
-def is_package(package_name):
-    for pkg in EXCLUDE_FROM_PACKAGES:
-        if package_name.startswith(pkg):
-            return False
-    return True
-
-
-# Compile the list of packages available, because distutils doesn't have
-# an easy way to do this.
-packages, package_data = [], {}
-
-root_dir = os.path.dirname(__file__)
-if root_dir != '':
-    os.chdir(root_dir)
-django_dir = 'django'
-
-for dirpath, dirnames, filenames in os.walk(django_dir):
-    # Ignore PEP 3147 cache dirs and those whose names start with '.'
-    dirnames[:] = [d for d in dirnames if not d.startswith('.') and d != '__pycache__']
-    parts = fullsplit(dirpath)
-    package_name = '.'.join(parts)
-    if '__init__.py' in filenames and is_package(package_name):
-        packages.append(package_name)
-    elif filenames:
-        relative_path = []
-        while '.'.join(parts) not in packages:
-            relative_path.append(parts.pop())
-        relative_path.reverse()
-        path = os.path.join(*relative_path)
-        package_files = package_data.setdefault('.'.join(parts), [])
-        package_files.extend([os.path.join(path, f) for f in filenames])
-
-
 # Dynamically calculate the version based on django.VERSION.
 version = __import__('django').get_version()
 
@@ -89,8 +41,8 @@ setup(
     description=('A high-level Python Web framework that encourages '
                  'rapid development and clean, pragmatic design.'),
     license='BSD',
-    packages=packages,
-    package_data=package_data,
+    packages=find_packages(exclude=EXCLUDE_FROM_PACKAGES),
+    include_package_data=True,
     entry_points={'console_scripts': [
         'django-admin = django.core.management:execute_from_command_line',
     ]},