This is part of the Emacs Starter Kit.
Support for the Python programming language.
Replace the Python mode that comes with Emacs by the Python mode supplied by the Python distribution itself.
(autoload 'python-mode "python-mode" "Python Mode." t)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
(add-to-list 'interpreter-mode-alist '("python" . python-mode))
(setq
python-shell-interpreter "ipython"
python-shell-interpreter-args ""
python-shell-prompt-regexp "In \\[[0-9]+\\]: "
python-shell-prompt-output-regexp "Out\\[[0-9]+\\]: "
python-shell-completion-setup-code
"from IPython.core.completerlib import module_completion"
python-shell-completion-module-string-code
"';'.join(module_completion('''%s'''))\n"
python-shell-completion-string-code
"';'.join(get_ipython().Completer.all_completions('''%s'''))\n")
If you use the Jedi auto-completion method, change the :tangle
flag below to yes
. It’s turned off by default because this is a plugin to a documentation system you have to install separately. See The Jedi Homepage for details.
(setq jedi:setup-keys t)
(add-hook 'python-mode-hook 'jedi:setup)