Skip to content

# Inject Packages

## Inject a package

`pipx inject` adds extra packages into an existing pipx-managed virtual environment. If you have `ipython` installed and want `matplotlib` available inside it:

    pipx inject ipython matplotlib

Inject multiple packages at once, from a requirements file, or both:

    pipx inject ipython matplotlib pandas
    pipx inject ipython -r useful-packages.txt
    pipx inject ipython extra-pkg -r more-packages.txt

### Expose injected apps

By default, injected packages do not add their entry points to your `PATH`. Use `--include-apps` to expose them:

    pipx inject ipython black --include-apps

`--include-deps` exposes entry points from the injected package's dependencies too (implies `--include-apps`).

### Other flags

- `--force` / `-f` reinstalls the package even if it is already injected.
- `--editable` / `-e` installs the package in editable (development) mode.
- `--with-suffix SUFFIX` targets a suffixed venv (e.g. `ipython_3.11`).
- `--pip-args` passes extra arguments to pip (e.g. `--pip-args='--no-cache-dir'`).
- `--index-url` / `-i` sets the PyPI index URL for this inject.
- `--system-site-packages` gives the venv access to the system site-packages.