Могу ли я кэшировать байт-код всех моих скриптов 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 переменные среды. Однако это не рекомендуется, так как это может замедлить работу скриптов.