Message199480
| Author |
pitrou |
| Recipients |
barry, christian.heimes, kristjan.jonsson, pitrou, ronaldoussoren, serhiy.storchaka, vstinner |
| Date |
2013年10月11日.14:34:55 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1919290567.69360662.1381502068060.JavaMail.root@zimbra10-e2.priv.proxad.net> |
| In-reply-to |
<1381500899.49.0.0614432256474.issue19219@psf.upfronthosting.co.za> |
| Content |
> I ran into this when developing version 3. The reason is that while
> the marshal format includes the version information in its header,
> it isn't actually verified on loading. IIRC. You specify the
> expected format to the function, or something like that. So, if you
> don't do this, you get errors when loading previously generated .pyc
> files.
Exactly (I also tried this :-)). The problem is the version number
is *outside* of the marshal format: e.g. it's in the pyc file header.
When freezing a module (see frozen.c), the version number isn't included.
So our freedom is quite limited here: we have to support legacy frozen
modules. |
|