First, it always recompiles and does not store the result for the module that’s loaded directly from the command line.
Значит, что скрипт переданный интерпретатору непосредственно будет всегда компилироваться заново. Если написать
python test.py
, то неважно есть ли test.pyc. А если test.py будет импортироваться из другого скрипта или интерактивного сеанса интерпретатора, то будет загружена скомпилированная версия из кэша.
Second, it does not check the cache if there is no source module.
Если нет исходного файла, кэш в каталоге __pycache__ будет проигнорирован.
To support a non-source (compiled only) distribution, the compiled module must be in the source directory and there must not be a source module.
Чтобы выполнялась скомпилированная версия при отсутствии исходника, нужно чтобы pyc-файл лежал не в __pycache__, а вместо py-файла.