Python is awesome, and so is its native interactive interpreter. I discovered today that it can even provide autocompletion using a very simple trick:
Append this to your
And in a new
try: import readline except ImportError: print("Module readline not available.") else: import rlcompleter readline.parse_and_bind("tab: complete")
$ source ~/.profile
Magic? Well if like me you're running Mac OS X, it won't work, no autocompletion, nada. OS X seems to ship with a very poor (and obsolete) python, and no
readline implementation — which is mandatory to achieve our purpose.
So while being at tweaking up my python setup, let me get rid of the Apple stuff and install a fresh version of python using Homebrew, a great package manager for OSX:
$ brew install readline python
Tadaa! Now you get autocompletion, plus a shiny python 2.7.1 (you could also install latest python3 running
brew install python3 by the way).
As a side note, if you work with virtualenvs like me, creating a new env will now involve specifying which python you want to use:
$ mkvirtualenv -p /usr/local/Cellar/python/2.7.1/bin/python \ --no-site-packages `pwd`/env
That's all folks.