[Zope3-dev] Re: Dealing with external dependencies
Jim Fulton
jim at zope.com
Thu Jul 19 14:12:17 EDT 2007
On Jul 19, 2007, at 1:09 PM, Philipp von Weitershausen wrote:
> On 19 Jul 2007, at 00:43 , Jim Fulton wrote:
>> On Jul 18, 2007, at 5:24 PM, Philipp von Weitershausen wrote:
>>
>>> Up until now we've been a bit sloppy when it came to egg
>>> dependencies. Not specifying a version number or range basically
>>> means that the code in question assumes it will work with any
>>> future version of its dependency. Admittedly, setuptools doesn't
>>> exactly make it easy to say "I depend on ZODB 3.8.x". Jim has
>>> proposed to add a syntax to setuptools to support this nicely but
>>> it's not there yet. So I guess we'll have to wait for that.
>>
>> Heads up: I've come to think that depending on major revisions/
>> series isn't going to work. I'll say more about that in a
>> separate thread though.
>
> Now you tell us :).
I just realized this over the weekend and even then wanted to discuss
it with some folks.
...
>
>> In the long run, it might be better to only reuse packages that
>> offer some backward compatibility promises. Depending on a
>> specific version will make the dependent packages less reusable.
>
> That makes sense. So, coming back to the real world: we have two
> issues at hand. One is docutils, one is zope.testbrowser which
> depends on mechanize and ClientForm (Adam is working on that, CCing
> him as well).
>
> With docutils I understand that it makes much sense to do this at
> application level. With mechanize and ClientForm I'm not so sure.
> What I *do* know is that the current situation (packaging them
> *inside* the zope.testbrowser egg) isn't ideal (same goes for
> twisted, btw).
Agreed.
>
> Should the next zope.testbrowser simply depend on any version of
> mechanize and ClientForm?
I hope so. :)
>
>>> [1] This problem has bitten us over at Grok because apparently
>>> Ubuntu has decided to deploy docutils 0.4.1 which doesn't seem to
>>> actually exist anywhere and therefore confuses zc.buildout. See
>>> https://bugs.launchpad.net/grok/+bug/126742.
>>
>> I'm fairly sure that this has nothing to do with version numbers.
>> I suspect instead that it has something to do with the fact that
>> all distributions are now installed as "develop eggs" on ubuntu.
>> The locations of these eggs is actually site-packages. This sounds
>> very wonky to me, but Phillip Eby says it is normal.
>
> It's actually necessary (to install these things as eggs) because
> many packages nowadays depend on entry points. One could argue,
> obviously, that their location (site-packages) isn't ideal...
My objection isn't to install them as eggs, I'm a big fan of eggs,
I'm just mystified by installing them as develop eggs. In any case,
PJE tells me this is correct, so I need to deal with it.
Jim
--
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the Zope3-dev
mailing list