summaryrefslogtreecommitdiff
path: root/setuptools
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools')
-rw-r--r--setuptools/__init__.py14
-rw-r--r--setuptools/dist.py24
2 files changed, 19 insertions, 19 deletions
diff --git a/setuptools/__init__.py b/setuptools/__init__.py
index 77fdbbbe..1a6bebff 100644
--- a/setuptools/__init__.py
+++ b/setuptools/__init__.py
@@ -15,6 +15,7 @@ __all__ = [
'find_packages'
]
+bootstrap_install_from = None
def find_packages(where='.'):
"""Return a list all Python packages found within directory 'where'
@@ -38,7 +39,6 @@ def find_packages(where='.'):
-
def setup(**attrs):
"""Do package setup
@@ -56,6 +56,12 @@ class Command(_Command):
command_consumes_arguments = False
+ def __init__(self, dist, **kw):
+ # Add support for keyword arguments
+ _Command.__init__(self,dist)
+ for k,v in kw.items():
+ setattr(self,k,v)
+
def reinitialize_command(self, command, reinit_subcommands=0, **kw):
cmd = _Command.reinitialize_command(self, command, reinit_subcommands)
for k,v in kw.items():
@@ -74,9 +80,3 @@ class Command(_Command):
-
-
-
-
-
-
diff --git a/setuptools/dist.py b/setuptools/dist.py
index a39b4a13..f46a02f8 100644
--- a/setuptools/dist.py
+++ b/setuptools/dist.py
@@ -8,6 +8,7 @@ from setuptools.command.install import install
from setuptools.command.install_lib import install_lib
from distutils.errors import DistutilsOptionError, DistutilsPlatformError
from distutils.errors import DistutilsSetupError
+import setuptools
sequence = tuple, list
@@ -38,7 +39,6 @@ sequence = tuple, list
-
class Distribution(_Distribution):
"""Distribution with support for features, tests, and package data
@@ -348,18 +348,18 @@ class Distribution(_Distribution):
return not not self.requires
+ def run_commands(self):
+ if setuptools.bootstrap_install_from and 'install' in self.commands:
+ # Bootstrap self-installation of setuptools
+ from easy_install import easy_install
+ cmd = easy_install(
+ self, args=[setuptools.bootstrap_install_from], zip_ok=1
+ )
+ cmd.ensure_finalized()
+ cmd.run()
+ setuptools.bootstrap_install_from = None
-
-
-
-
-
-
-
-
-
-
-
+ _Distribution.run_commands(self)