Elpy is an Emacs package to bring powerful Python editing to Emacs. It combines and configures a number of other packages, both written in Emacs Lisp as well as Python. Elpy is fully documented at Readthedocs.
- Code completion
- Code Navigation
- Interactive Python shell
- Virtualenv support
- On-the-fly syntax checking
- Access to documentation
- Debugging
- Testing
- Profiling
- Snippet Expansion
- Code hinting
Elpy is available on Melpa, the most straightforward way to install it is to use use-package:
(use-package elpy
:ensure t
:init
(elpy-enable))
For other installation alternatives, see the documentation.
Once installed, Elpy will automatically provide code completion, syntax error highlighting and code hinting (in the modeline) for python files. Elpy offers a lot of features, but the following keybindings should be enough to get started:
- C-c C-c evaluates the current python script (or region if something is selected) in an interactive python shell. The python shell is automatically displayed aside of your script.
- C-RET evaluates the current statement (current line plus the following nested lines).
- C-c C-z switches between your script and the interactive shell.
- C-c C-d displays documentation for the thing under cursor. The documentation will pop in a different buffer, that can be closed with q.
Please have a look at the documentation at Readthedocs if you want to know more about what Elpy can do.
- Emacs: The Best Python Editor? by Jon Fincher
- Managing a Python development environment in Emacs by Diego Fernández Giraldo
- Configuring GNU emacs with elpy on MacOS by Kenneth H. East
For questions regarding Elpy, do not hesitate to open an issue on
github or visit us on IRC, channel #emacs-elpy
on
irc.freenode.net
.
If you would like to support this work, you can become a patreon: https://www.patreon.com/jorgenschaefer Please note that this is completely voluntary, and does not make you more important than others when it comes to issues, feature requests or anything. I appreciate donations, but do not feel compelled to spend money, and do not feel bad if you don't.