2026/5/27
cshogiの導入でmetadata-generation-failedが発生したときの解決策
状況
pipコマンドでcythonを導入しようとしたとき、以下のエラーが発生しました。
>pip install cshogi Collecting cshogi Using cached cshogi-0.9.7-cp313-cp313-win_amd64.whl.metadata (913 bytes) Collecting numpy<1.27.0,>=1.26.0 (from cshogi) Using cached numpy-1.26.4.tar.gz (15.8 MB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... error error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [12 lines of output] + C:\Users\(ユーザー名)\AppData\Local\Programs\Python\Python313\python.exe C:\Users\(ユーザー名)\AppData\Local\Temp\pip-install-b27ln1ga\numpy_6b3d82dc48cc4c0bbed62f8ec39cd925\vendored-meson\meson\meson.py setup C:\Users\(ユーザー名)\AppData\Local\Temp\pip-install-b27ln1ga\numpy_6b3d82dc48cc4c0bbed62f8ec39cd925 C:\Users\(ユーザー名)\AppData\Local\Temp\pip-install-b27ln1ga\numpy_6b3d82dc48cc4c0bbed62f8ec39cd925\.mesonpy-mvtmn4tt -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=C:\Users\(ユーザー名)\AppData\Local\Temp\pip-install-b27ln1ga\numpy_6b3d82dc48cc4c0bbed62f8ec39cd925\.mesonpy-mvtmn4tt\meson-python-native-file.ini The Meson build system Version: 1.2.99 Source dir: C:\Users\(ユーザー名)\AppData\Local\Temp\pip-install-b27ln1ga\numpy_6b3d82dc48cc4c0bbed62f8ec39cd925 Build dir: C:\Users\(ユーザー名)\AppData\Local\Temp\pip-install-b27ln1ga\numpy_6b3d82dc48cc4c0bbed62f8ec39cd925\.mesonpy-mvtmn4tt Build type: native build Project name: NumPy Project version: 1.26.4
..\meson.build:1:0: ERROR: Compiler cl cannot compile programs.
A full log can be found at C:\Users\(ユーザー名)\AppData\Local\Temp\pip-install-b27ln1ga\numpy_6b3d82dc48cc4c0bbed62f8ec39cd925\.mesonpy-mvtmn4tt\meson-logs\meson-log.txt [end of output]
note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed
× Encountered error while generating package metadata. ╰─> numpy
note: This is an issue with the package mentioned above, not pip. hint: See above for details.解決策
ログを見るに、1.26.4のnumpyをインストールしようとしたところ、私の環境では2.3.2のバージョンのnumpyが入っていたために、何らかのコンパイル処理でエラーが起こったと思われます。
そのため、以下のようにpip install時にnumpyをインストールしないように指定するとうまくいきました。
>pip3 install cshogi --no-deps numpy Collecting cshogi Using cached cshogi-0.9.7-cp313-cp313-win_amd64.whl.metadata (913 bytes) Requirement already satisfied: numpy in .\AppData\Local\Programs\Python\Python313\Lib\site-packages (2.3.2) Downloading cshogi-0.9.7-cp313-cp313-win_amd64.whl (693 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 693.4/693.4 kB 6.6 MB/s 0:00:00 Installing collected packages: cshogi Successfully installed cshogi-0.9.7最後に
公式にどのnumpyをサポートしているかは明示されていませんが、ログを見る限りではNumPy 1系を基準にビルドされていると考えられます。NumPy 2.0でC言語APIの破壊的変更が行われたため、私の方法のようにNumPy 2系にしてしまうと、意図しない挙動やバグが起こる可能性があります。
そのときは、numpyのバージョンを下げるなどして対応する必要があります。