Completely disable IPython output caching

后端 未结 4 358
日久生厌
日久生厌 2021-02-02 00:42

I\'m dealing with some GB-sized numpy arrays in IPython. When I delete them, I definitely want them gone, in order to recover the memory. IPythons output cache is quite annoying

相关标签:
4条回答
  • 2021-02-02 01:11

    Enter

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

    and your history should be gone.

    Edit:

    Seems like the path to the config directory is sometimes a bit different, either ~/.config/ipython or just ~/.ipython/. So just check which one you got and adjust the path accordingly. The solution still works with jupyter console.

    0 讨论(0)
  • 2021-02-02 01:19

    Create an ipython profile:

    !ipython profile create
    

    The output might be (for ipython v4.0):

    [ProfileCreate] Generating default config file: '/root/.ipython/profile_default/ipython_config.py'
    [ProfileCreate] Generating default config file: '/root/.ipython/profile_default/ipython_kernel_config.py'
    

    Then add the line 'c.InteractiveShell.cache_size = 0' to the ipython_kernel_config.py file by

    !echo 'c.InteractiveShell.cache_size = 0' >> /root/.ipython/profile_default/ipython_kernel_config.py
    

    Load another ipython kernel and check if this work

    In [1]: 123
    Out[1]: 123
    
    In [2]: _1
    ---------------------------------------------------------------------------
    NameError                                 Traceback (most recent call last)
    <ipython-input-51-21553803e553> in <module>()
    ----> 1 _1
    
    NameError: name '_1' is not defined
    
    In [3]: len(Out)
    Out[3]: 0
    
    0 讨论(0)
  • 2021-02-02 01:28

    Looking at IPython/core/displayhook.py Line 209-214 I would say that it is not configurable. You could try making a PR to add an option to disable it totally.

    0 讨论(0)
  • 2021-02-02 01:29

    Seems that we can suppress the output cache by putting a ";" at the end of the line now.

    See http://ipython.org/ipython-doc/stable/interactive/tips.html#suppress-output

    0 讨论(0)
提交回复
热议问题