Полностью отключить кэширование вывода IPython

Я занимаюсь некоторыми массивами numpy размером в GB в IPython. Когда я их удаляю, я определенно хочу, чтобы они ушли, чтобы восстановить память. Кабель вывода IPythons довольно раздражает, так как он поддерживает сохранение объектов даже после удаления последней активной ссылки на них. Я уже установил

c.TerminalInteractiveShell.cache_size = 0

в конфигурации IPython, но это только отключает кеширование записей в _oh, другие переменные, такие как _, __ и т.д., все еще созданы. Я также знаю о %xdel, но в любом случае, я бы предпочел полностью отключить его, поскольку я редко использую историю вывода в любом случае, так что простой del снова будет работать снова.

Ответ 1

Глядя на IPython/core/displayhook.py Строка 209-214 Я бы сказал, что он не настраивается. Вы можете попробовать сделать PR, чтобы добавить параметр, чтобы полностью отключить его.

Ответ 2

Войти

echo "__builtin__._ = True" > ~/.config/ipython/profile_default/startup/00-disable-history.py

и ваша история должна исчезнуть.

Редактировать:

Похоже, что путь к каталогу config иногда немного отличается, либо ~/.config/ipython либо просто ~/.ipython/. Поэтому просто проверьте, какой из них у вас есть, и соответствующим образом настройте путь. Решение по-прежнему работает с jupyter console.