<aside> 🪄

Pixi Advent Calendar 2025 5日目の記事です。

</aside>

前回までのあらすじ

<aside> ☠️

uv を内包するpixiで生きていく決意を固めた @denkiwakame の前にuv原理主義者が現れ, conda滅ぶべしと言い放つ(実話)。 そこに現れたのは, 一匹のAAだった────

image.png

</aside>

サンは PyPI で, わたしは conda-forge で暮らそう

uv / pypi で全部できたら嬉しいですね. uv でできないの?って124981725981651092580125回聞かれます.

特に研究プロジェクトでは, uv 単体でなんとか出来ないケースが多く存在します.

(主に研究プロジェクトでの)uv に対する感情

日々の業務における uv への感情はこんな感じです. PyPAでやってほしいの割合は本音だともっと高いですが我慢しました. 強調しますがPure-Python で, 成熟した package のみで構成される開発プロジェクトにおいては素晴らしいツールだと思います.

Untitled

2025年冬現在、uv 単独でなんとかならないのは主に以下のケースでしょうか。

1⃣ そもそも Python じゃない場合

SLAM や COLMAP 等の 3DCV の分野は元来 Python プロジェクトではなく、大量の C/C++ 依存があります.

Whitepaperで紹介がありますが, SLAM や ROS は pixi を使うことで非常に高速/ハンディに依存関係をロックし, 仮想環境を作ることができます.

https://www.youtube.com/watch?v=THnn8FFAomI

https://www.youtube.com/watch?v=ff7BhA4b3VQ&t=1353s

https://github.com/VSLAM-LAB/VSLAM-LAB

https://github.com/luigifreda/pyslam

https://x.com/LuigiFreda/status/1935596798233764305?s=20

2️⃣ 公式が conda 推奨している場合

https://www.youtube.com/watch?v=jrU0UBr2z3k

https://www.pymc.io/blog/getting_started_with_pymc.html#q-what-about-uv-for-installation https://www.pymc.io/projects/docs/en/latest/installation.html

https://github.com/facebookresearch/faiss/blob/main/INSTALL.md

**12:40 Q: what about uv for installation?**

Reshama: Chris?

Chris: Yes.

Reshama: If I may interrupt.

Chris: Absolutely.

Reshama: What are your thoughts about UV?

Chris:

UV, yeah, UV is also sort of side by side with PIXI gaining popularity as an installer. My main reservation about using that here is that, of course, UV uses pip to install its packages, and pip is where we generally see problems, particularly on the Mac side installing things and mostly getting the dependencies right. So UV is going to do the same sorts of things as pip. Again, your mileage may vary so people can figure it out. But I would attend towards PIXI, but I may be personally biased on that issue.

PyMC や faiss 等は 公式にサポートされているのは conda での install 方法のみです.

こういったケースでも最適な実装/最適化レベルでライブラリを使うには conda (pixi) が第一の選択肢になります. 公式ビルドが最も信頼性が高いためです.