Open6

NVIDIA apexをDocker + uvでインストールする方法の試行錯誤

もりりんもりりん

Dockerfile内のuvでNVIDIA apexをインストールしたい

https://github.com/NVIDIA/apex

公式のREADME.mdだと以下のように入れる

pip install -v --disable-pip-version-check --no-cache-dir --no-build-isolation --config-settings "--build-option=--cpp_ext" --config-settings "--build-option=--cuda_ext" ./
もりりんもりりん

普通に先頭にuvをつければいいのではと思ったけど、エラーがでる。

uv pip install -v --disable-pip-version-check --no-cache-dir --no-build-isolation --config-settings "--build-option=--cpp_ext" --config-settings "--build-option=--cuda_ext" ./

error: unexpected argument '--build-option' found

  tip: a similar argument exists: '--build-isolation'

Usage: uv pip install --verbose... --no-cache <PACKAGE|--requirement <REQUIREMENT>|--editable <EDITABLE>> <--disable-pip-version-check|--user>
もりりんもりりん

https://github.com/astral-sh/uv/issues/7771

同じような問題のIssueをuvのリポジトリで発見。以下を試す。

uv pip install -v  --disable-pip-version-check --no-build-isolation --config-settings '"--build-option=--cpp_ext"' --config-settings '"--build-option=--cuda_ext"' ./
もりりんもりりん

以下をDockerfileに書き込んでインストール成功

uv pip install -v --no-deps --no-cache-dir --disable-pip-version-check --no-build-isolation \
    git+https://github.com/NVIDIA/apex.git@master \
    --config-settings " \
    --build-option=--cpp_ext \
    --cuda_ext"