pipx
TLDR
Install application in isolated environment
SYNOPSIS
pipx command [options] [package]
DESCRIPTION
pipx installs Python command-line applications in isolated virtual environments. Each application gets its own environment, preventing dependency conflicts while keeping executables available globally.
Unlike pip install, pipx creates separate environments for each tool. This means applications like black, flake8, and ansible can coexist even if they require conflicting package versions.
The run command executes applications without permanent installation. It downloads, runs, and cleans up - perfect for one-time use or trying new tools. Frequently run packages are cached for speed.
Inject adds extra packages to an application's environment. This is useful when an application has plugins or optional dependencies that need to be installed together.
The ensurepath command configures shell PATH to include pipx binary locations. This is typically needed once after initial pipx installation.
PARAMETERS
install PACKAGE
Install package in isolated environment.run PACKAGE [args]
Run app in temporary environment.uninstall PACKAGE
Uninstall package.upgrade PACKAGE
Upgrade package.upgrade-all
Upgrade all installed packages.list
List installed applications.inject APP PACKAGES
Add packages to app's environment.uninject APP PACKAGES
Remove injected packages.reinstall PACKAGE
Reinstall package.reinstall-all
Reinstall all packages.ensurepath
Add pipx directories to PATH.--include-deps
Include dependencies' executables.--python PYTHON
Python interpreter to use.--system-site-packages
Include system packages.--pip-args ARGS
Arguments to pass to pip.--force
Force installation.--verbose
Verbose output.
CAVEATS
Only for command-line applications, not libraries. Each app uses disk space for its environment. Injected packages may cause conflicts. Python version is fixed at install time. Some apps may need system dependencies.
HISTORY
pipx was created by Chad Smith around 2018 to address the problem of installing Python CLI tools cleanly. It was inspired by npx from the Node.js ecosystem. The project became a PyPA recommended tool for installing applications, while pip remains recommended for libraries.
SEE ALSO
pip(1), pipenv(1), poetry(1), virtualenv(1)
