Installing applications

Getting started walked through the installlistrununinstall 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, Python 3.12.3
  These apps are now globally available
    - http
    - https
done! ✨ 🌟 ✨

pipx creates a virtual environment, installs the httpie package into it, and exposes the apps it declares on your PATH. Note that the package is httpie but the commands are http and https: one package, two apps.

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
   package httpie 3.2.4, Python 3.12.3
    - http
    - https

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.)

Learn more

pipx install has more to offer once you outgrow the basics:

  • Expose apps: hide or reveal commands with expose / unexpose, and pull apps out of dependencies with --include-deps.

  • Tool manifests: manage a set of tools with a pipx.toml manifest and PEP 751 lock files.

  • Run scripts: install a local PEP 723 script as a managed app.

  • Use the uv backend: swap pip for uv to resolve and install faster.

  • Standalone Python: install against a specific Python version, downloading one if needed.