Installation¶
Generic requirements¶
Python 2.6 or later, 3.2 or later, PyPy 2.0 or later, PyPy3 2.3 or later. It is the only non-optional requirement.
C compiler. Required to build powerline client on linux. If it is not present then powerline will fall back to shell script or python client.
socat
program. Required for shell variant of client which runs a bit faster than python version of the client, but still slower than C version.psutil
python package. Required for some segments like cpu_percent. Some segments have linux-only fallbacks forpsutil
functionality.hglib
python package and mercurial executable. Required to work with mercurial repositories.pygit2
python package orgit
executable. Required to work withgit
repositories.bzr
python package (note: not standalone executable). Required to work with bazaar repositories.pyuv
python package. Required for libuv-based watcher to work.i3ipc
python package. Required for i3wm bindings and segments.xrandr
program. Required for the multi-monitor lemonbar binding and thepowerline.listers.i3wm.output_lister()
.
Note
Until bazaar supports Python-3 or PyPy powerline will not support repository information when running in these interpreters.
Note
When using pip
, the {repository_root}
directory referenced in
documentation may be found using pip show powerline-status
. In the output
of pip show
there is a line like Location: {path}
, that {path}
is
{repository_root}
. Unless it is --editable
installation this is only
applicable for {repository_root}/powerline/…
paths: something like
{repository_root}/scripts/powerline-render
is not present.
When using other packages referenced paths may not exist, in this case refer to package documentation.
Pip installation¶
Due to a naming conflict with an unrelated project, powerline is available on
PyPI under the powerline-status
name:
pip install powerline-status
is the preferred method because this will get the latest release. To get current development version
pip install --user git+https://github.com/powerline/powerline
may be used. If powerline was already checked out into some directory
pip install --user --editable={path_to_powerline}
is useful, but note that in this case pip
will not install powerline
executable and something like
ln -s {path_to_powerline}/scripts/powerline ~/.local/bin
will have to be done (~/.local/bin
should be replaced with some path
present in $PATH
).
Note
We can use either https``(``git+ssh://git@github.com/powerline/powerline
)
or https``(``git+https://github.com/powerline/powerline
) protocols.
git
protocol is deprecated by Github.
Fonts installation¶
Powerline uses several special glyphs to get the arrow effect and some custom symbols for developers. This requires having either a symbol font or a patched font installed in the system. The used application (e.g. terminal emulator) must also either be configured to use patched fonts (in some cases even support it because custom glyphs live in private use area which some applications reserve for themselves) or support fontconfig for powerline to work properly with powerline-specific glyphs.
24-bit color support may be enabled if used terminal emulator supports it (see the terminal emulator support matrix).
There are basically two ways to get powerline glyphs displayed: use
PowerlineSymbols.otf
font as a fallback for one of the existing fonts or
install a patched font.
Patched fonts¶
This method is the fallback method and works for every terminal.
Download the font from powerline-fonts. If preferred font can’t be found in the powerline-fonts repo, then patching the preferred font is needed instead.
After downloading this font refer to platform-specific instructions.