__pycache__
- это папка, содержащая Байт-код Python 3 скомпилирован и готов к исполнению.
Не стесняйтесь удалять эти файлы, а также не подавлять создание. Это бессмысленно и на самом деле повредит работе.
Программисты Python обычно игнорируют байт-код. Действительно, __pycache__
и *.pyc
являются общими линиями, которые можно просмотреть в файлах .gitignore
. Байт-код не предназначен для распространения и может быть разобран с использованием dis
module.
Если вы используете OS X вы можете легко скрыть все эти папки в вашем проекте, выполнив следующую команду из корневой папки вашего проекта.
find . -name '__pycache__' -exec chflags hidden {} \;
Заменить __pycache__
с *.pyc
для Python 2.
Это устанавливает флаг на всех этих каталогов (.pyc файлов), рассказывающих Finder/Textmate 2, чтобы исключить их из списков.
Перезапустите команду, если вы создаете новые модули и хотите скрыть новый байт-код или удалить скрытые файлы байт-кода.
В Windows эквивалент команды может быть (не тестировалось, пакетный сценарий приветствуется):
dir * /s/b | findstr __pycache__ | attrib +h +s +r
Что же, как и происходит в рамках проекта скрывающей папки с помощью правой кнопки мыши> скрыть ...
Запуск модульных тестов является один сценарий, при котором удаляя *.pyc
файлы и папки __pycache__
действительно полезно. Я использую следующие строки в своем ~/.bash_profile
и просто запускаю cl
для очистки при необходимости.
alias cpy='find . -name "__pycache__" -delete'
alias cpc='find . -name "*.pyc" -delete'
...
alias cl='cpy && cpc && ...'
«Это то, что мы даем людям вместо нашего исходного кода?» - Нет, вы даете им исходный код в удобном установочном пакете, поэтому его легко использовать. –
Пока никто не упомянул, но ваше определение кеша является странным. Кэш - это просто [компонент, в котором хранятся данные, поэтому будущие запросы на эти данные можно обслуживать быстрее] (https://en.wikipedia.org/wiki/Cache_ (вычисления)). –
См.: Https://www.python.org/dev/peps/pep-3147/ –