[Distutils] Simple idea to resolve versioning problems

David Cournapeau david at ar.media.kyoto-u.ac.jp
Wed Apr 16 06:49:26 CEST 2008


Greg Ewing wrote:
>
> But if your application really does depend on two libraries that
> have conflicting requirements like this, the application itself
> is screwed to begin with. There's *no* way of making it work
> on *any* system, whether that system has library versioning or
> not.

Of course. I was just stressing that versioning does not solve the 
deployment problem, but merely is a small part of the solution.

>
> Consequently, the developer will be unable to make it work on
> his own machine, and will therefore never attempt to deploy it!

It can happen easily once you have different systems: maybe on my os it 
is not a problem, but maybe it is on yours. Python is not exactly the 
same everywhere, the version of python is not the same everywhere, etc...

>
> That's what I'm talking about! As long as the API remains
> backward compatible, there is no need to have anything but the
> latest version installed -- and in fact, in the kind of system
> I have in mind, the earlier versions would *never be used*
> even if they were installed.

What's the point of having it installed, then ? I am confused.

>> IOW, enabling version requirement without strong API compatibility is 
>> the path to dependency hell.
>
> I fully agree. However, this is a social issue, not a
> technical one. 

Yes, that's mainly a social issue, which is why I wanted to stress that 
versioning won't magically solve it (just to be clear, I am not saying 
that that's what you said, but I felt like one general idea in this 
thread was that once you have versioning, you solve deployment issues).

All I am saying is:
    - If you use a package without a strong API commitment, and if you 
use versioning to use it, you will make problems worse, not better.
    - If you use versioning for packages with strong API commitment, 
then it is definitely useful.

cheers,

David


More information about the Distutils-SIG mailing list