pipx or condax for conda packages.
Usage
pixi g install, pixi g i
Arguments
Package(s) to install. Can be:
- Package name:
python - Package with version:
python==3.12 - Package with version constraint:
python>=3.11,<3.13 - Local path:
/path/to/packageor./relative/path - URL:
https://example.com/package.tar.bz2
Options
The channels to consider as a name or URL.Multiple channels can be specified by using this field multiple times.By default, if no channel is provided,
conda-forge is used.The platform to install the packages for.This is useful when you want to install packages for a different platform than the one you are currently on. Often used to install
osx-64 packages on osx-arm64.Install all packages in the same environment.By default, each package gets its own environment named after the package.
Add one or more mappings describing which executables are exposed.Syntax:
exposed_name=executable_name or just executable_nameExample: --expose python3.10=pythonAdd additional dependencies to the environment.Their executables will not be exposed.
Force reinstall the environment even if it already exists.
Do not create shortcuts (desktop/start menu entries) for the installed packages.Alias:
--no-shortcutExamples
Install a single package
cowpy in its own environment and exposes its executables.
Install multiple packages
Install with additional dependencies
jupyter with polars as an additional dependency, but only exposes jupyter executables.
Install with custom exposed names
python3.8.
Install multiple packages in one environment
jupyter and ipython.
Install from a specific channel
Install a specific version
Cross-platform installation
Force reinstall
Install without shortcuts
How It Works
- Environment Creation: Each package gets its own isolated environment (unless
--environmentis used) - Package Installation: The package and its dependencies are installed
- Executable Exposure: Command-line tools are exposed to your PATH
- Shortcut Creation: Desktop/start menu shortcuts are created if applicable
Environment Naming
By default, environments are named after the package:pixi global install pythoncreates an environment namedpythonpixi global install jupytercreates an environment namedjupyter
--environment to specify a custom name:
Exposed Executables
By default, all executables from the main package are exposed. Use--expose to control this:
Additional Dependencies
Use--with to include dependencies without exposing their executables:
jupyter, matplotlib, and pandas, but only exposes jupyter commands.
Channels
Specify channels to search for packages:When specifying a channel, it’s common that the selected channel also depends on
conda-forge. Pixi handles this automatically.Use Cases
Development Tools
CLI Utilities
Python Environments
Data Science Tools
Shortcuts
On Windows and macOS, pixi can create shortcuts for GUI applications:- Windows: Start Menu entries
- macOS: Application bundles
--no-shortcuts to disable this behavior.
Listing Installed Packages
After installation, pixi shows what was installed:Differences from Workspace Installation
| Feature | Global Install | Workspace Install |
|---|---|---|
| Scope | System-wide | Project-specific |
| Configuration | Automatic | pixi.toml |
| Isolation | Per-package | Per-project |
| Use case | CLI tools | Development |