This seems to be bug in emacs and its fixed in this commit.
As npostavs mentioned, you can use
(defun python-shell-completion-native-try ()
"Return non-nil if can trigger native completion."
(let ((python-shell-completion-native-enable t)
Are you using Python 3.7? Jedi doesn't support that version yet and so falls back to the next highest, which on most systems should be 2.7.
There's a couple of things you can do: You can simply wait for Jedi to support 3.7 which shouldn't take too long. You could also downgrade to 3.6. Or you could manually add 3.7 to the supported versions in the Jedi code....
By default company-mode doesn't seems to have that feature, BUT there is a package called company-box that take care of the documentation among other things:
(To trigger the doc, you may have to wait like a second)
While switching configurations I've came across this issue yet again and I believe I have a workaround for this if you're still interested.
The steps I do to reproduce:
start fresh emacs,
venv-workon to activate a virtualenv,
open a python buffer,
try elpy-goto-definition, receive the same error message you did.
(elpy-config confirms everything is ok)
It's auto-complete package. Completion candidates colors can be changed by customizing ac-completion-face, ac-candidate-face, ac-candidate-mouse-face and ac-selection-face.
That window with additional candidate info can be changed by customizing popup-tip-face.
I use the following:
python-shell-interpreter-args "--simple-prompt --pprint")
For python 3.6 I found jedi with company to be the most reliable but others may have different experiences. "mypath" below are the paths to packages I've created that I want autocomplete.