Decoupling the version of the file from the name of the module.

Robert Kern robert.kern at
Sun Jan 29 13:12:14 EST 2006

Steven D'Aprano wrote:

> I distribute two apps, Parrot and Shrubbery. Both rely on a common module,
> Spam. Parrot uses version 1 of Spam and Shrubbery uses version 2. For the
> sake of the argument, Spam is completely backwards compatible, so I
> have no problems with somebody installing Parrot plus Spam version 1, then
> installing Shrubbery, where Spam version 2 overwrites the older Spam
> module. But if Spam version 1 overwrites version 2, then Shrubbery stops
> working.
> The easy answer is to say, "Then don't do that", but that's a terribly
> impractical answer. Blaming the user is no real solution either. In
> old-time Windows land, installation programs would blindly nuke newer DLLs
> with older DLLs all the time. Under Linux, one convention is for shared
> libraries to include the version number in the file name, so that newer
> libraries weren't blown away by older ones.
> What is the Python solution? Enquiring minds want to know.

Robert Kern
robert.kern at

"In the fields of hell where the grass grows high
 Are the graves of dreams allowed to die."
  -- Richard Harter

More information about the Python-list mailing list