This post is from the archive — originally published on mattezell.info. Browse the archive →

Ubuntu & Python Shell: Code Completion

OK, so I know this is an old one, but one I felt is worth mentioning none the less. Ubuntu does not, by default, have the PYTHONSTARTUP variable set - furthermore, the pythonstartup file does not exist initially either.  Fortunately, both of these ‘issues’ are easily resolved. From bash,

you:~$ gedit .pythonstartup

Now to fill in your pythonstartup config file:

# pythonstartup import os import readline import rlcompleter import atexit #Bind ‘TAB’ to complete readline.parse_and_bind(‘tab:complete’) #Set history file - ~.pythonhistory

histfile = os.path.join(os.environ[‘HOME’], ‘.pythonhistory’) #Attempt read of histfile try: readline.read_history_file(histfile) except IOError: pass #Write history file at shell exit atexit.register(readline.write_history_file, histfile) #Cleanup del os, histfile, readline, rlcompleter Now set your PYTHONSTARTUP var:

you:~$ export PYTHONSTARTUP=~/.pythonstartup

Now you are good to enter the Python Interactive Shell with CODE COMPLETION AND HISTORY!