On Jul 9, 2007, at 1:45 PM, Phillip J. Eby wrote:
At 01:10 PM 7/9/2007 -0400, Jim Fulton wrote:
IMO, they shouldn't have the same precedence. IMO installations made with the develop command should have the highest precedence. After all, why would someone use the develop command if they didn't want to see the effects of changes they're making in development. Could we can change the develop command to generate a different symbol, like REALLY_DEVELOP_DIST and give it the highest precedence? (Tempted to wink, but not really kidding...) It appears that it doesn't actually generate anything atm, but I think it should.
I could have .egg-link files use a different precedence, but I wouldn't make it the highest. Develop eggs have the lowest precedence for two reasons: one, easy_install prefers to use eggs it can copy,
Why does this matter to users?
and two, develop eggs have lower precedence to prevent you thinking that your version requirements are correct when they aren't.
That is, if you depend on 1.9.dev-r1201, and that picks up your development version in place of an .egg file with the same version, you won't be able to tell that your requirement is wrong. This can occur if you are working on an SVN checkout - your develop egg has the same version as the built one, but you could have changed it.
That's a fair argument. I think it is just as bad to be making changes to an svn checkout and having those changes have no effect. I suppose that any time we select among two distributions with the same version based on precedence, we should issue a warning, at least when one of them is a develop dist.
This was actually more of a happy coincidence than something I planned ahead of time, but it does occur in practice. :)
It made me very unhappy when I first started working with setuptools. I use develop eggs a lot and I definately expect them to be used.
Note that in any event, if we make platform-specific eggs have higher precedence, then platform-specific built eggs will have to take precedence over develop eggs, because "true" develop eggs are never viewed as "platform-specific" (because they have no platform name in their .egg-info directory name).
This argument sounds overly pedantic to me. Jim -- Jim Fulton mailto:jim@zope.com Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org