Elpy is an extension for the Emacs text editor to work with Python projects. This documentation explains how to use Elpy to work on Python project using Emacs, but it does not aim to be an introduction to either Emacs or Python.
You can read a quick tour of Emacs, or read the built-in tutorial
C-h t in the editor. That is, you hold down the
control key and hit
h (the canonical help key in Emacs),
release both, and hit
t (for tutorial).
Once you have these basics, you can go on to install Elpy.
Simply add the following lines to you
.emacs.d/init.el, or equivalent):
(use-package elpy :ensure t :init (elpy-enable))
Or if you want to defer Elpy loading:
(use-package elpy :ensure t :defer t :init (advice-add 'python-mode :before 'elpy-enable))
Manually from Melpa¶
The main Elpy package is installed via the Emacs package interface,
package.el. First, you have to add Elpy’s package archive to your
list of archives, though. Add the following code to your
file and restart Emacs:
(require 'package) (add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/"))
Now you can run M-x package-refresh-contents to download a fresh
copy of the archive contents, and
M-x package-install RET elpy RET
to install elpy. If you want to enable Elpy by default, you can simply
add the following to your .emacs:
Congratulations, Elpy is now successfully installed!
From apt (Debian ≥10 an Ubuntu ≥18.10)¶
Users of Debian ≥10 or Ubuntu ≥18.10 can skip the instructions above this line and may simply install Elpy and all of its recommended dependencies with the following command::
sudo apt install elpa-elpy
Elpy can then be activated by running
This can be made automatic by adding the following to your
In order to use all the features (such as navigation with
you’ll need to install some python libraries. You can do that easily
M-x elpy-config RET, and following the instructions.
You can easily configure Elpy to your own preferences. All options are available through a unified interface, accessible with the following command:
Show the current Elpy configuration, point out possible problems, and provide a quick interface to relevant customization options.
Missing packages can be installed right from this interface. Be aware that this does use your currently-selected virtual env. If there is no current virtual env, it will suggest installing packages globally. This is rarely what you want.