Pipxu
Install and Run Python Applications in Isolated Environments using UV
Install / Use
/learn @bulletmark/PipxuREADME
PIPXU - Install and Run Python Applications in Isolated Environments using UV
[pipxu][pipxu] installs Python applications, i.e. Python packages which have
one or more executable programs, into independent isolated virtual environments
on your system. Each package and it's dependencies are thus insulated from all
other applications, and from the system Python. [pipxu][pipxu] creates links
to application executables in a common directory, e.g. $HOME/.local/bin is
default for most Linux users, which you should ensure is in your [PATH][path].
Packages are typically sourced from [PyPI][pypi], the Python Package Index.
[pipxu][pipxu] is a re-implementation of most of the functionality of
the popular [pipx][pipx] tool but is much faster because it uses
[uv][uv] to create and install application virtual environments
instead of [venv][venv] and [pip][pip] as used by [pipx][pipx].
The [pipxu][pipxu] code has been developed completely independently of
[pipx][pipx] and is not a fork. For compatibility and ease of
migration, the provided commands have the same names as [pipx][pipx].
Most commands are implemented, at least for common use cases, although
some command functionality, options, and output are slightly different.
This utility has been developed and tested on Linux but will likely also work on macOS. It does not work and is not supported on Windows. The latest documentation and code is available at https://github.com/bulletmark/pipxu.
Usage
Type pipxu or pipxu -h to view the usage summary:
usage: pipxu [-h] [--uv uv_path] [-m] [--home HOME]
[--bin-dir BIN_DIR] [--man-dir MAN_DIR]
[--default-python DEFAULT_PYTHON] [-V]
{debug,d,inject,ij,install,i,list,l,reinstall,runpip,uninject,uj,uninstall,remove,rm,upgrade,update,up,venv,version} ...
Install Python applications into isolated virtual environments and create
links to the executables in a bin directory for your PATH. Like pipx but uses
uv instead of venv + pip.
options:
-h, --help show this help message and exit
--uv uv_path path to uv executable, default="uv"
-m, --no-man-pages do not install package man pages
--home HOME specify PIPXU_HOME
--bin-dir BIN_DIR specify PIPXU_BIN_DIR
--man-dir MAN_DIR specify PIPXU_MAN_DIR
--default-python DEFAULT_PYTHON
path to default python executable, default="python3"
-V, --version just print pipxu version and exit
Commands:
{debug,d,inject,ij,install,i,list,l,reinstall,runpip,uninject,uj,uninstall,remove,rm,upgrade,update,up,venv,version}
debug (d) Run an installed application using a debugger.
inject (ij) Install extra packages into an application.
install (i) Install one or more Python applications using isolated
virtual environments.
list (l) List applications installed by this tool.
reinstall Reinstall one, or more, or all applications.
runpip Run pip with given arguments on virtual environment
for the given application.
uninject (uj) Uninstall extra packages from an application.
uninstall (remove, rm)
Uninstall one, or more, or all applications.
upgrade (update, up)
Upgrade one, or more, or all applications.
venv List application virtual environment paths.
version List installed application versions.
Some commands offer aliases as shown in parentheses above. Note you can set
default starting global options in ~/.config/pipxu-flags.conf.
Type pipxu <command> -h to see specific help/usage for any
individual command:
Command debug
usage: pipxu debug [-h] [-e EXECUTABLE] [-d DEBUGGER]
package [args ...]
Run an installed application using a debugger. Tries to work out your
preferred debugger from the standard PYTHONBREAKPOINT environment variable. If
not set it defaults to pdb. Or you can set it explicitly with the
-d/--debugger option.
positional arguments:
package installed application name
args options and arguments to pass to application, should
start with "--"
options:
-h, --help show this help message and exit
-e, --executable EXECUTABLE
executable to run, default is same as "package" name
-d, --debugger DEBUGGER
explicit debugger package to use
aliases: d
Command inject
usage: pipxu inject [-h] [-v] package extras [extras ...]
Install extra packages into an application. Note the same --index-url is used
as/if specified in the original install.
positional arguments:
package installed application name
extras extra package name[s] to inject/install
options:
-h, --help show this help message and exit
-v, --verbose give more output
aliases: ij
Command install
usage: pipxu install [-h] [-p PYTHON] [-f] [-e] [-d]
[--system-site-packages] [-i INDEX_URL] [-v]
package [package ...]
Install one or more Python applications using isolated virtual environments.
positional arguments:
package application[s] to install
options:
-h, --help show this help message and exit
-p, --python PYTHON specify explicit python executable path
-f, --force recreate any already installed venv
-e, --editable install application[s] in editable mode
-d, --include-deps include executables from dependencies
--system-site-packages
allow venv access to system packages
-i, --index-url INDEX_URL
base URL of Python Package Index
-v, --verbose give more output
aliases: i
Command list
usage: pipxu list [-h] [--json] [-v] [package ...]
List applications installed by this tool.
positional arguments:
package list the given application[s] only
options:
-h, --help show this help message and exit
--json output json instead
-v, --venv also show the virtual environment dir/number
aliases: l
Command reinstall
usage: pipxu reinstall [-h] [-p PYTHON | --reset-python]
[--system-site-packages |
--no-system-site-packages] [-v] [--all]
[--skip]
[package ...]
Reinstall one, or more, or all applications.
positional arguments:
package application[s] to reinstall (or to skip for --all
--skip)
options:
-h, --help show this help message and exit
-p, --python PYTHON specify explicit python executable path
--reset-python reset any explicit python path to default python
--system-site-packages
allow venv access to system packages, overrides the
per-application setting
--no-system-site-packages
remove venv access to system packages, overrides the
per-application setting
-v, --verbose give more output
--all reinstall ALL applications
--skip skip the specified applications when reinstalling all
(only can be specified with --all)
Command runpip
usage: pipxu runpip [-h] package [args ...]
Run pip with given arguments on virtual environment for the given application.
positional arguments:
package installed application name
args arguments to pass to uv pip, should start with "--".
options:
-h, --help show this help message and exit
Command uninject
usage: pipxu uninject [-h] [-v] package extras [extras ...]
Uninstall extra packages from an application.
positional arguments:
package installed application name
extras extra package name[s] to uninstall
options:
-h, --help show this help message and exit
-v, --verbose give more output
aliases: uj
Command uninstall
usage: pipxu uninstall [-h] [-v] [--all] [--skip] [package ...]
Uninstall one, or more, or all applications.
positional arguments:
package application[s] to uninstall (or to skip for --all --skip)
options:
-h, --help show this help message and exit
-v, --verbose give more output
--all uninstall ALL applications
--skip skip the specified applications when uninstalling all (only
can be specified with --all)
aliases: remove, rm
Command upgrade
usage: pipxu upgrade [-h] [-v] [--all] [--skip] [package ...]
Upgrade one, or more, or all applications.
positional arguments:
package application[s] to upgrade (or to skip for --all --skip)
options:
-h, --help show this help message and exit
-v, --verbose give more output
--all upgrade ALL applications
--skip skip the specified applications when upgrading all (only can
be specified with --all)
aliases: update, up
Command venv
usage: pipxu venv [-h] [-p] [-P] [-s] [package ...]
List application virtual environment paths.
positional arguments:
package list the path for the given application[s] rather than
all applications.
options:
-h, --help show this help message and exit
-p, --path-full don't abbreviate the path
-P, --path-python show resolved path to python executable
-s, --sort-venv sort by venv path rather than package name
Command
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
109.4kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
349.0kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
