pixi は次世代 Python パッケージマネージャ。
- conda-forge からダウンロードするので幅広いツールを入れることができる
- conda, mamba の置き換えが可能
- 仮想環境をつくり、conda/mamba (=conda-forge) のパッケージおよび pip (=PyPI) のパッケージを一括で管理することができる。
uv pipと異なり、pip コマンドをそのまま使うので問題も発生しにくい
- global 環境にインストールすることによりどこでもコマンドを実行できるようになるため、apt, homebrew のような役割も果たせる。これらの置き換えも可能と謳う
- global というが、すべてのファイルは
$HOME/.pixiに落とされるので、パッケージはユーザーごとに管理される。このディレクトリ自体を消すだけで pixi 全体がアンインストールされる。簡単!
- global というが、すべてのファイルは
パッケージを global 環境にインストール
上に書いたように pixi はホーム以下にパッケージを落とすので、ここで言う global とはシステム全体という意味ではなくユーザー全体という意味。
インストールするには pixi global install xxx 。インストールしたコマンドは $HOME/.pixi/bin にバイナリが配置されるのでこれを PATH に加える。
conda-forge が丸ごと使えるので有名どころはインストールできる。
- nvim, fish, fzf, yazi, fd, zellij などなど
- fd が
fd-findになっていたりと、パッケージ名とがコマンド名が違うことが時々あるので conda-forge を検索する。- ex.
pixi search '*fd*'でfd-findを見つけた後、pixi search fd-findをすると詳細な情報を見られる
- ex.
インストールされたシェルツールのリストは $HOME/.pixi/manifests/pixi-global.toml に保存されている。これをバックアップしておけば、新しい PC にコピーしてきて
pixi global sync
で開発環境をすぐに再現することができる。
cf. pixi global でシェルツールを華麗に管理する
conda/mamba を置き換え、仮想環境マネージャとして使う
Conda と比較したときのコマンドの対応表が Conda/Mamba - Pixi by prefix.dev にある。
シナリオごとにまとめ直すと以下のとおり
仮想環境の作り方
pixi init env_name
cd env_name && pixi shell # env_name環境での新たなシェルを起動。 pixi shell -e env_name でもよい
pixi add python=3.12 # バージョンは好きに選ぶ
python3 -m ensurepip # これでpip3が使えるようになる仮想環境を起動する
pixi shell -e env_name
pip3 install <pypi packages> # PyPIのパッケージが使える
pixi add <conda-forge packages> # conda-forgeのパッケージも使える
python3 ... # コマンドを実行もし conda activate のように、既存のシェルを保ったまま仮想環境に入りたい場合は
eval "$(pixi shell-hook)"とする。(Shell - Pixi by prefix.dev)
環境を一度消してやり直す
pixi clean -e env_name
さらに詳しく
より詳しい pixi の活用法について、以下が参考になる