explaingit

pypa/pipx

12,786PythonAudience · developerComplexity · 1/5Setup · easy

TLDR

A command-line tool maintained by the Python Packaging Authority that installs Python applications in isolated environments so they never conflict with each other, making every tool available system-wide without using sudo.

Mindmap

mindmap
  root((repo))
    What it does
      Isolated app installs
      No dependency conflicts
      No sudo needed
    Key Commands
      pipx install
      pipx run temporary
      pipx upgrade all
    Platforms
      macOS via Homebrew
      Linux via pip
      Windows via Scoop
    Audience
      Python developers
      All command line users
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Install Python CLI tools like black, poetry, or httpie without risking dependency conflicts with other tools or your project code

USE CASE 2

Try out a Python command-line tool temporarily with pipx run without permanently installing it, the environment disappears afterward

Tech stack

Python

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

pipx is a command-line tool for installing Python applications so that each one runs in its own isolated environment. It works similarly to how macOS's brew handles application management: you install a program once, it becomes available from your terminal anywhere on your system, and it does not interfere with other Python software you have installed. The core problem pipx solves is dependency conflicts. When you install multiple Python tools using pip directly, their underlying libraries can clash if different tools require different versions of the same package. pipx avoids this by giving each application its own private environment behind the scenes. You never need to manage that environment directly, you just install and use the tool as normal. Installation depends on your operating system. On macOS you use Homebrew with a single command. On Linux you install via pip with a user-level flag. On Windows you can use Scoop. After installing, running pipx ensurepath ensures your terminal can find the applications pipx manages. The workflow is then straightforward: pipx install pycowsay installs an application globally, and pipx run pycowsay lets you try a tool temporarily without a permanent installation, downloading and running it in a short-lived environment that disappears afterward. pipx also gives you clear visibility into what is on your machine. You can list all applications it manages, upgrade them one at a time or all at once, and uninstall them cleanly without leaving stray files behind. It never requires elevated permissions, so everything runs as a regular user without using sudo or similar commands. The project is maintained by the Python Packaging Authority, the same group responsible for pip and other core Python packaging infrastructure. It is open source and welcomes community contributions.

Copy-paste prompts

Prompt 1
Show me the full pipx workflow for installing black, listing all managed tools, and upgrading them all at once on macOS
Prompt 2
Use pipx run to try out the httpie CLI tool on Linux without permanently installing it, what is the exact command?
Prompt 3
I need to inject an extra package into an existing pipx-managed app environment, show me the pipx inject command and when I would use it
Open on GitHub → Explain another repo

← pypa on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.