Where Are pipx Virtual Environments Stored?
pipx keeps each installed tool in an isolated virtual environment under PIPX_HOME. Executable links are placed in a separate bin directory that should be on PATH.
Last updated
pipx separates environments from the commands users run. Each package gets its own folder under a venvs directory, while links for launchers live in a bin directory.
The exact root varies by operating system and can be changed with PIPX_HOME and PIPX_BIN_DIR. Older installs may still use legacy folders when those folders already exist on disk.
Where pipx stores this, by platform
~/.local/share/pipx/venvs/<package>
Replace <package> with the installed package name. Bin links default to ~/.local/bin. Set PIPX_HOME and PIPX_BIN_DIR to override these roots. Run pipx environment to print the paths in use.
~/Library/Application Support/pipx/venvs/<package>
Replace <package> with the installed package name. Bin links default to ~/.local/bin. If ~/.local/pipx exists from an older install and PIPX_HOME is unset, pipx may keep using it. Set PIPX_HOME to pin the location.
C:\Users\<user>\AppData\Local\pipx\pipx\venvs\<package>
Replace <user> with the Windows account name and <package> with the installed package name. Bin links go to the configured bin directory and may be copies rather than symlinks on some filesystems. Set PIPX_HOME and PIPX_BIN_DIR to override the defaults. Run pipx environment to print the paths in use.
Frequently asked questions
How do I find my active pipx paths?
Run pipx environment to list PIPX_HOME, bin, man, and venv locations. The output reflects overrides from environment variables. Use the value query form to print a single path.
Why is my venv not under the default location?
A legacy folder takes precedence when it exists and PIPX_HOME is unset. Examples include ~/.local/pipx on Linux and similar legacy folders on other systems. Set PIPX_HOME explicitly or migrate files to the current default to fix the location.
Notice an outdated path? Let us know.