Autocomplete for jupyter notebook and ipython console for classes with “@property”

前端 未结 1 1503
迷失自我
迷失自我 2021-01-25 04:18

I want to use autocomplete in ipython and jupyter for the following code with read-only class attributes (using @property):

class A(object):
    def         


        
相关标签:
1条回答
  • 2021-01-25 04:30

    Because of problems with IPython (6.x to 7.2) + jedi my temporary hack is

    def fix_ipython_autocomplete(enable=True):
        """Change autocomplete behavior for IPython > 6.x
    
        Parameter
        ---------
        enable : bool (default True)
            Is use the trick.
    
        Notes
        -----
        Since IPython > 6.x the ``jedi`` package is using for autocomplete by default.
        But in some cases, the autocomplete doesn't work correctly wrong (see e.g.
        `here <https://github.com/ipython/ipython/issues/11653>`_).
    
        To set the correct behaviour we should use in IPython environment::
    
            %config Completer.use_jedi = False
    
        or add to IPython config (``<HOME>\.ipython\profile_default\ipython_config.py``)::
    
            c.Completer.use_jedi = False
        """
    
        try:
            __IPYTHON__
        except NameError:
            pass
        else:
            from IPython import __version__      
            major = int(__version__.split('.')[0])
            if major >= 6:
                from IPython import get_ipython
                get_ipython().Completer.use_jedi = not enable
    

    See also https://github.com/ipython/ipython/issues/11653

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