コンテンツにスキップ

pixi を触ってみた

pixi とは

pixi は、 既存の conda エコシステム上に構築された高速ソフトウェア パッケージ マネージャーです。Windows、macOS、Linux で開発環境を迅速に立ち上げます。

自動ロックファイルは、オペレーティング システム間で再現可能な環境を生成します ( Docker なしでも! )。

pixi は、Python、R、C/C++、Rust、Ruby など、多くの言語をサポートしています。

Python プロジェクトをサポートする機能の一部として pyproject.toml 形式で環境を管理できたり、依存関係の解決やインストールにはuvが使われている。

pixi は複数環境の管理をサポートしており、CPU/GPU、Linux/macOS/Windows などの異なる環境ごとに環境を構築できる。

setup

curl -fsSL https://pixi.sh/install.sh | bash

サンプルの実行

CUDA を使う例が公式レポジトリにあるので、これを実行してみる。

pixi run --env cuda python

上記のコマンドを実行すると、CUDA のバージョンに関するエラーが出る。これはマシンに CUDA がインストールされていないためである。この例の CUDA 環境用の設定では、CUDA 12.1 を必要とするため、CUDA 12.1 がインストールされている環境で実行する必要がある。

  × The platform you are running on should at least have the virtual package __cuda on version 12.1, build_string: 0

install CUDA

pixi を使って CUDA をインストールできるらしい。参考リンク

pixi-faiss-gpu [main●●] % pixi search cuda
Using channels: conda-forge

cuda-12.6.3-ha804496_0 (+ 3 builds)
-----------------------------------

Name                cuda
Version             12.6.3
Build               ha804496_0
Size                26776
License             LicenseRef-NVIDIA-End-User-License-Agreement
Subdir              noarch
File Name           cuda-12.6.3-ha804496_0.conda
URL                 https://conda.anaconda.org/conda-forge/noarch/cuda-12.6.3-ha804496_0.conda
MD5                 c87165adf227d93d4fcb65da58e1e01a
SHA256              2de21852202b1538f9374a4d5059aa8db88e7cccee9f3a04388006ca08e553aa

Dependencies:
 - __linux
 - cuda-runtime 12.6.3.*
 - cuda-toolkit 12.6.3.*
pixi-faiss [main●●] % pixi add cuda=12
 Added cuda=12