Installing applications

Getting started walked through the install → list → run → uninstall cycle with the toy pycowsay package. This tutorial repeats it with a real tool so you can see how a package’s name and its apps differ.

Install a tool

Install HTTPie, a command-line HTTP client:

$ pipx install httpie
  installed package httpie 3.2.4, installed using Python 3.12.3
  These apps are now available
    - http
    - httpie
    - https
  These manual pages are now available
    - man1/http.1
    - man1/httpie.1
    - man1/https.1
done! ✨ 🌟 ✨

pipx creates a virtual environment, installs the httpie package into it, and exposes the apps it declares on your PATH. The package is httpie, but it exposes three apps: http, httpie, and https.

Tip

To install a tool for every user on the system, pass --global. See Configure paths.

See what you got

$ pipx list
venvs are in /home/user/.local/share/pipx/venvs
apps are exposed on your $PATH at /home/user/.local/bin
manual pages are exposed at /home/user/.local/share/man
shell completions are exposed at /home/user/.local/share
   package httpie 3.2.4, installed using Python 3.12.3
    - http
    - httpie
    - https
    - man1/http.1
    - man1/httpie.1
    - man1/https.1

Run it and verify

Call one of the exposed apps to confirm the install:

$ http --version
3.2.4

If the version prints, the app is on your PATH and ready to use. (Missing? Run pipx ensurepath and open a new terminal, then see Troubleshoot.)

Hold back fresh releases

The newest release is the one most likely to ship a bug or a compromise. Install the next tool a week behind the index:

$ pipx install --cooldown 7 black
  installed package black 24.8.0, installed using Python 3.12.3
  These apps are now available
    - black
    - blackd
done! ✨ 🌟 ✨

pipx remembers the number, so later upgrades of black keep the same seven-day lag without you repeating the flag. Set PIPX_COOLDOWN=7 in your shell profile to get the same lag for every tool.

Learn more

More on pipx install: