Могу ли я кэшировать байт-код всех моих скриптов python, например, под центральным деревом каталогов в моем домашнем каталоге?
Я не обязательно хочу остановить python от "кэширования" его байтового кода, я просто хочу остановить его от "калечения" всех моих каталогов с помощью __pycache__
запись в любом месте, где он находит и выполняет скрипт. Например, я хотел бы, чтобы байтовый код всех моих скриптов был сохранен под, скажем $HOME/.python/cache
.
Я запускаю Linux, но я считаю, что это было бы интересно и для пользователей Windows.
1 ответов
TL; DR
нет, вы не можете двигаться __pycache__
.
фон
PEP 304 предложил добавить PYTHONBYTECODEBASE
переменная среды, которая будет контролировать, где хранится байт-код. Он был отозван и никогда не реализован, поэтому то, что вы хотите сделать, невозможно.
переход от одного на .py
файл в один __pycache__
в папке, а в PEP 3147 должно было быть частичное исправление и делается в Python 3.
остановка __pycache__
создать
вы можете остановить python от создания любого байт-кода, передав -B
параметр интерпретатора python или путем установки PYTHONDONTWRITEBYTECODE
переменные среды. Однако это не рекомендуется, так как это может замедлить работу скриптов.