[Pyrex] Dangerous weirdness happening

andreas at ae.mtg.co.at andreas at ae.mtg.co.at
Tue Sep 30 09:56:57 CEST 2003


On Tue, Sep 30, 2003 at 04:46:13PM +1200, David McNab wrote:
> On Tue, 2003-09-30 at 15:20, Bob Ippolito wrote:
> > > Or, how can I accommodate multiple Python versions in my app, without
> > > rubbing my users' noses in intricacies they don't want to know about?
> > 
> > That's such a horrible idea, don't try and make a python extension work 
> > on two different binary incompatible versions of Python!
> 
> Thanks for sharing that.
> 
> However, it might be taking 'Python Fundamentalism' a tad far, IMO.
> 
> Binaries linked against earlier shared glibc versions run quite happily
> on systems with later glibc. Nobody has philosophical/religious
> objections to that. So why shouldn't backward compatibility be supported
> with similar ease with Python?
Because it would make Python 2.x carry all versions of the VM (and
perhaps the library) before it.
New Python versions are different to say new C/C++/glibc versions.
Python changes the language core, while C/C++/glibc try to implement
some external standard. 

And backwards compability is not a given with C++, it involves quite a
number of tradeoffs.

For python this would make the interpreter much more heavy weight, and
slower.

You have basically two major solutions to your problem:
a) include the Python system with your app.
b) include 
   -) compiled modules for all relevant python versions and select the
   right one.
   -) include the source code.
   -) include the .c files, so the user doesn't need to have Pyrex
   installed.

> 
> > If you want it to be easy, just use py2exe and make them download the 
> > extra two megs or so for your application.
> 
> Don't worry - I'm using McMillan Installer to create an exe for Windows.
> I wouldn't even *dream* of asking Joe/Jane Sixpack Windoze User to
> install Python - 95% of them wouldn't even bother.
So where is your problem? *g*

Andreas




More information about the Pyrex mailing list