bytecode non-backcompatibility
Maurice LING
mauriceling at acm.org
Tue Apr 26 00:47:21 EDT 2005
> It is a nuisance. It's more of a nuisance when third part modules with
> 'c' components are compiled for the new version of python (a windows
> specific problem).
>
> I did find that the last upgrade forced me to evaluate which extensions
> I actually used. The answer was 'a few less than I thought'. It became
> a good opportunity to spring clean my 'site-packages' folder.
I find this part of the story a nuisance, C components in 3rd party
modules... What are the C components compiled into? What are actually
"so" files?
I am using Fink to maintain my Python installation and Fink maintains
the 3rd party libraries in /sw/lib/python2.3/site-packages. Imagine the
trouble if I do a "fink selfupdate" and "fink update-all" and finds that
my Python is replaced by a newer version, say Python 2.4. Then all my
3rd party libraries in /sw/lib/python2.3/site-packages are un-usable...
And I will have to re-download and re-install all the libraries again.
Yes, I do agree that it is a nice time to clean out "site-packages" but
imagine the work of a system admin who has to re-install 50 packages...
I do believe that we can use some help here, if possible... Perhaps
someone can enlighten us on the technicalities of "so" files and/or C
bindings in Python...
Now I understand that Python bytecodes are only dealing with pure python
source codes. However, the same question lies, how can it (set of
bytecodes) be made stable, like Java bytecodes, which are pretty stable?
Perhaps a better question will be, what techniques Java VM designers
use that enables Java class files (and JAR files) to be stable and
usable across versions that is lacking in Python?
Thanks.
Cheers
Maurice
More information about the Python-list
mailing list