iPython: How to disable autocomplete
I’ve been toying with the idea of using iPython as the Python REPL for videos on @LearnDataWithMark, but I wanted to disable the autocomplete functionality as I find it too distracting. In this blog post, I’ll show how to do it.
First, let’s install iPython:
poetry add ipython
And now we’ll launch the iPython REPL:
poetry run ipython
Python 3.11.4 (main, Jun 20 2023, 17:23:00) [Clang 14.0.3 (clang-1403.0.22.14.1)]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.16.1 -- An enhanced Interactive Python. Type '?' for help.
Now, let’s say I type `x = ` to populate a variable. It will suggest something like the following:
I’ve only just started the session so this isn’t particularly useful. I’m not sure where it’s getting the suggestions from - perhaps from my previous normal Python REPL?
In any case, I want to turn them off, which we can do from the iPython configuration file. You can create one of those by running the following command:
poetry run ipython profile create
[ProfileCreate] Generating default config file: PosixPath('/Users/markhneedham/.ipython/profile_default/ipython_config.py')
If we open that file, the first few lines will read like this:
# Configuration file for ipython.
c = get_config() #noqa
To disable autocomplete, let’s add the following line:
c.TerminalInteractiveShell.autosuggestions_provider = None
If we then close the iPython REPL and launch it again, we can try the `x = ` code fragment again:
Job done!
About the author
I'm currently working on short form content at ClickHouse. I publish short 5 minute videos showing how to solve data problems on YouTube @LearnDataWithMark. I previously worked on graph analytics at Neo4j, where I also co-authored the O'Reilly Graph Algorithms Book with Amy Hodler.