As pointed out by in the comments, this answers is outdated. youcompleteme
now supports python3 and jedi-vim
no longer breaks the undo history.
Original answer below.
AFAIK there are three options, each with its disadvantages:
- youcompleteme: unfriendly to install, but works nice if you manage to get it working. However python3 is not supported.
- jedi-vim: coolest name, but breaks your undo history.
- python-mode does a lot more the autocomplete: folding, syntax checking, highlighting. Personally I prefer scripts that do 1 thing well, as they are easier to manage (and replace). Differently from the two other options, it uses rope instead of jedi for autocompletion.
Python 3 and undo history (gundo!) are a must for me, so options 1 and 2 are out.