When are .pyc files refreshed?
pyc, python, python-internals
Solution
The `.pyc` files are created (and possibly overwritten) only when that python file is imported by some other script. If the import is called, Python checks to see if the `.pyc` file's internal timestamp is not older than the corresponding `.py` file. If it is, it loads the `.pyc`; if it isn't or if the `.pyc` does not yet exist, Python compiles the `.py` file into a `.pyc` and loads it.
What do you mean by "stricter checking"?
Problem
I understand that ".pyc" files are compiled versions of the plain-text ".py" files, created at runtime to make programs run faster. However I have observed a few things: - Upon modification of "py" files, program behavior changes. This indicates that the "py" files are compiled or at least go though some sort of hashing process or compare time stamps in order to tell whether or not they should be re-compiled. - Upon deleting all ".pyc" files (`rm *.pyc`) sometimes program behavior will change. Which would indicate that they are not being compiled on update of ".py"s. Questions: - How do they decide when to be compiled? - Is there a way to ensure that they have stricter checking during development?