Eric Snow added the comment:

This is strictly a problem for the system Python, right?  In that case, can't 
the dist package clear __pycache__ under the system site-packages directory 
(and any other user-read-only dirs) during install of the updated Python?

Is the concern that upgrading Python may force all .pyc files to be re-written 
(perhaps unnecessarily)?  If so, I'm not clear on why it's okay between major 
versions but not minor ones.  Frequency perhaps?  Is the cost of re-compiling 
all .pyc files (which mostly won't happen all at the same time) significant 
enough to warrant changing the status quo, particularly since the magic number 
rarely changes in a minor release?

As one (poor) alternative, we could require re-compiling a .pyc file only if it 
contains the affected bytecode(s).  Granted, that would probably require 
associating every bytecode with a magic number.  The required comparison would 
likely be more expensive than just re-compiling. :/

Another alternative would be to leverage sys.dont_write_bytecode somehow.

----------
nosy: +eric.snow

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue29514>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to