>[explanation of problem deleted]
>...
>Does anyone have any ideas on how to solve this problem? Maybe there's
>other language-communities that have solved this already...
Jack, if Python attains the world dominance it deserves, I think this
could become a monstrous problem. Alas, I have no idea how to solve it.
The time-honored method for single-source software is a revision number
scheme. It's already easy to check for the existence of a module in
Python, and if modules adopted a convention of exporting a module.Version
number, importing modules could easily check it. CWI might consider
adopting such a scheme now, eh (then, e.g., your audio-biff module could
have checked to see whether a recent-enough version of rfc822 had been
installed)?
But when many suppliers are involved, anarchy is the rule, and life gets
much tougher. In practice, I haven't seen a scheme more pleasant than
GNU's "configure" system, and that relies on building oodles of small
test programs to see what they do when run on your system.
That _can_ check for, and adapt to, anything imaginable, but (A) it's not
trivial to set it up; and, (B) as you said, the Python environment is very
dynamic. "configure"-like schemes are much better suited to a run-it-
once-and-forget-it mode.
In the end, I suspect we'll just have to rely on the usual mix of
mutually-benefical cooperation, word of mouth, and-- let's be frank
--secret payments to Guido <wink>.
vigilance-is-the-eternal-price-of-reptilian-freedom-ly y'rs - tim
Tim Peters tim@ksr.com
not speaking for Kendall Square Research Corp