On 1/31/2012 3:20 PM, John Roth wrote:
On Jan 30, 3:43 pm, Terry Reedy<tjre...@udel.edu>  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.

I tested before writing this. The caveat is that x.pyc in the same directly as x.py will not be ignored (for back compatibility). However, this only happens intentionally as .pyc files are put in __pycache__/ with name x.<version>.pyc, where <version> is 'cpython-32' or something similar for another version or implementation.

I've noticed that the tutorial (section 6.1.3) hasn't been updated for
PEP 3147; there's no way of telling that this is the behavior from
reading the tutorial. The development doc for 3.3 hasn't been updated
either.

You are right. An oversight. Thanks for noticing.
http://bugs.python.org/issue13915
Suggested rewrites are welcome.

--
Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to