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, 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.)
Hold back fresh releases¶
A brand-new release is the one most likely to be broken or compromised. Install the next tool a week behind the index:
$ pipx install --cooldown 7 black
installed package black 24.8.0, Python 3.12.3
These apps are now globally 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¶
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.tomlmanifest 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.
Dependency cooldown: set the release-age lag once with
PIPX_COOLDOWN.