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.

_______________________________________________
Distutils-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to