[Distutils] setup_requires not caching downloaded packages?

P.J. Eby pje at telecommunity.com
Sat Jun 27 01:50:53 CEST 2009


At 05:02 PM 6/26/2009 -0400, Barry Warsaw wrote:
>>When you build an sdist using setuptools, it includes a pre- 
>>generated file manifest, along with a setup.cfg that forces the
>>right revision tag information in the project's version number (if
>>applicable).  This is specifically designed so that the person
>>building your sdist doesn't need the same revision control system
>>installed.
>>
>>In short, the only person who needs setuptools_bzr installed is the
>>person who's generating the sdists.  So, feel free to drop it from
>>setup_requires and be happy.  ;-)
>
>Here's what the setuptools docs say:
>
>(Note: projects listed in setup_requires will NOT be automatically
>installed on the system where the setup script is being run. They are
>simply downloaded to the setup directory if they're not locally
>available already. If you want them to be installed, as well as being
>available when the setup script is run, you should add them to
>install_requires and setup_requires.)
>
>So I get that setuptools is doing what it's supposed to do.  I also
>get that it's (usually) not too hard to write a MANIFEST.in that
>pretty much does what you need it to do.  I'm bothered by the fact
>that this puts us in a bind where we want to use setup_requires but
>really can't.  After further thought though, the "problem" is probably
>in buildout, because it shouldn't be downloading setup_requires
>packages if they are in its download cache.

You seem to be ignoring the part where *you don't need 
setup_requires* in order to get a correct manifest on the target 
system, as long as they're using an sdist.

In other words, the only people who need setuptools_bzr are the 
people *making* sdists, not the people *using* sdists.  You can 
therefore omit it from your setup_requires, if I understand your 
current situation correctly.



More information about the Distutils-SIG mailing list