Re: [Distutils] setuptools passing arguments/settings to dependencies' dependencies
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. 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.
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?
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? But, so far as I can determine, that is how c9 worked. It might be a nice command line argument in its own regard to be able to disable this inheritance, so each dependency uses only its own setup.cfg settings - someone may *want* it to ignore the top-level settings. Thanks for your help again. Kent
At 04:03 PM 5/7/2010 -0400, Kent Bower 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
On 5/7/2010 3:26 PM, P.J. Eby wrote: 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.)
participants (2)
-
Kent Bower
-
P.J. Eby