Вы можете принудительно использовать тот же макет pyc-файлов в папках, что и в Python2, используя:
python3 -m compileall -b test3
Опция -b
запускает вывод pyc
-файлы в их прежние места (то есть в Python2).
После этого вы можете снова использовать скомпилированный кеш через:
python3 main.pyc
Способ загрузки модулей с тех пор PEP-3147 , невозможно использовать pyc-файлы из папки __pycache__
так, как вы собираетесь: если файла *.py
нет, содержимое __pycache__
никогда не просматривается.вверх.Вот самая важная часть рабочего процесса:
import foo
|
|
-- > [foo.py exists?] --- NO ----> [foo.pyc exists?] -- NO --> [ImportError]
| |
| YES
YES |--> [load foo.pyc]
|
|-> [look up in __pycache__]
Это означает, что файлы из __pycache__
ищутся только тогда, когда может быть найден соответствующий *.py
-файл.