【uv Python】ローカルビルドしたPythonパッケージをuvに正しく認識させる
> Source: Zenn_Python
Execute Primary Source
// Problem
uv pip installを用いてローカルでビルドした重いパッケージ(flash-attn等)を導入しても、uv syncを実行すると、pyproject.tomlに記載がないために「不要なパッケージ」と判断され、自動的に削除されてしまう。
// Approach
ビルド済みの.whlファイルをプロジェクト内のディレクトリに配置し、pyproject.tomlの[tool.uv]セクションにてfind-linksでパスを指定、no-build-packageでPyPIからの再ビルドを禁止する設定を行う。
// Result
uv syncを実行しても、ローカルのwheelファイルが優先的に使用されるようになり、再ビルドの手間を回避しつつ、宣言的なパッケージ管理と自前ビルドパッケージの併用が可能となる。
Senior Engineer Insight
> uvの宣言的な管理特性を理解し、副作用を回避するための明示的な設定が重要である。環境変数や.envの活用による再現性の確保も実務上不可欠な視点だ。