[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