[Distutils] setuptools passing arguments/settings to dependencies' dependencies

P.J. Eby pje at telecommunity.com
Fri May 7 22:22:09 CEST 2010

At 04:03 PM 5/7/2010 -0400, Kent Bower wrote:

>On 5/7/2010 3:26 PM, P.J. Eby wrote:
>>At 11:44 AM 5/7/2010 -0700, Kent wrote:
>>> > > The next thing I would do is verify that the config file is 
>>> actually being read, by setting the DISTUTILS_DEBUG environment 
>>> variable to "yes", and then running "easy_install -v ." and 
>>> observing the output.
>>>I've pasted the output here: http://pastebin.com/1it5XPAL
>>>Hopefully you can make sense of the output.
>>Yep.  The issue isn't with installation-time dependencies, it's 
>>build-time dependencies -- that's why I was confused.
>>There was a change to how build-time dependencies are handled, 
>>specifically intended to fix a different issue with Paste, 
>>PasteScript, and PasteDeploy's dependencies on each other.
>>My guess is that if you put eggs for those three packages in your 
>>third-party directory, the problem (or at least the problem with 
>>those three) would go away.
>I do have these three .tar.gz files in my thirdparty/ directory.  Do 
>you mean I should try using the eggs instead and that would fix the 
>problem because they won't need to be built, only installed?

Yes.  Install-time dependency behavior didn't change between c9 and 
c11, and always should've worked.

>>However, I'll see if there's a way for "child" easy_install runs 
>>(as used for build-time dependencies) to inherit the parent's 
>>settings for things like --find-links, --index-url, and 
>>--allow-hosts (but not options that would interfere with the child 
>>install's options.
>A word of caution: I imagine there are use-cases where this is not 
>the desired behavior.  That is, in some cases, perhaps it is 
>desirable that the dependencies do *not* inherit the command line 
>and setup.cfg settings from the parent?

I'm only referring to the options that control the locating of 
dependencies for the easy_install command, so that build-time 
dependencies are found from the same place as install-time 
dependencies, during a subordinate build step.  That's a pretty 
narrow range of options and conditions.  And the --find-links entries 
will be merged with the parent's.  --index-url and --allow-hosts, on 
the other hand, should always be the parent's settings, and it's 
arguably a bug that they're not already being honored.

(Apparently, not enough packages are using build-time dependencies 
for the problem to have been noticed and reported before now.)

More information about the Distutils-SIG mailing list