On Tue, 31 Jan 2012 11:26:10 +0100, Jean-Michel Pichavant wrote: > Terry Reedy wrote: >> On 1/30/2012 4:30 PM, Roy Smith wrote: >>> Every so often (typically when refactoring), I'll remove a .py file >>> and forget to remove the corresponding .pyc file. If I then import >>> the module, python finds the orphaned .pyc and happily imports it. >>> Usually leading to confusing and hard to debug failures. >>> >>> Is there some way to globally tell python, "Never import a .pyc unless >>> the corresponding .py file exits"? >> >> Upgrade to 3.2. >> > No.
Is that intended as "No, I won't upgrade" or "No, Python 3.2 doesn't do the job"? If the first one, then that's your decision, of course, but there really is no other straight-forward way to have Python ignore left-over .pyc files. Like it or not, there is no way to disable the use of .pyc files in older versions of Python. (I suppose you could write a patch for Python, and use your custom version, but that's it.) The ability to use .pyc files without providing source code is considered by some people a feature, not a bug, and in fact even in Python 3.2 the same applies. The difference in 3.2 is that you can't *accidentally* use old left-over .pyc files, you have to move and rename them before they can be used as sourceless modules. -- Steven -- http://mail.python.org/mailman/listinfo/python-list