Skip to content

Every tool installed with pipx gets its own full Python environment

pipx isolates each command-line tool in its own virtualenv, which is safe and not small. How to see where pipx keeps them and remove tools you stopped using.

4 min read

pipx installs each Python command-line tool into its own virtual environment, so tools never conflict. The cost is that each tool carries its own copy of its dependencies. A few tools with heavy dependencies can reach GB.

pipx environment | grep -E "PIPX_HOME|PIPX_LOCAL_VENVS"
pipx list --short

Then measure the venvs folder that pipx environment printed, for example:

du -sh ~/.local/pipx/venvs/* 2>/dev/null | sort -h
du -sh ~/Library/Application\ Support/pipx/venvs/* 2>/dev/null | sort -h

Remove what you do not use

pipx uninstall toolname
# everything
pipx uninstall-all

A tool you only need occasionally can be run without installing it: pipx run toolname. That uses a temporary cache instead. Alternatives for the same job are in uv cache.

Common questions

Where does pipx install tools on a Mac?

In its PIPX_HOME folder, which pipx environment prints. Each tool has its own folder under venvs.

Why does pipx use so much space?

Each tool gets its own virtual environment with its own dependencies, so shared libraries are stored more than once.

How do I remove all pipx tools?

Run pipx uninstall-all.

Read next