At 12:42 AM 9/18/2007 +0100, Michael Hoffman wrote: >Michael Hoffman wrote: > > > If you specify a package in setup_requires it will be built in the > > current directory. But even if it is in install_requires as well, it > > won't be installed because the requirement is already satisfied at setup > > time by the package in the build directory. > >I came up with this workaround: > >from setuptools.command.install import install > >class SubprocessEasyInstall(install): > def run(self): > install.run(self) > > args = [sys.executable, "-m", "easy_install"] + setup_requires > check_call(args) > >And in the setup() call, ensure you include: > >cmdclass=dict(install=SubprocessEasyInstall) > >This will easy_install the setup_requires in a separate process which is >unpolluted by the distributions already downloaded during setup.
Don't do this. It will do evil things if for example someone runs "setup.py install --help", or uses indeed any options or arguments to 'install' at all. It will also break the bdist_rpm, bdist_wininst, and other commands, which invoke 'install' as a subcommand, with various options set. _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
