Recceについて
Recce
については、拙著の以下の記事を参照していただきたい。
GitBashで起きるエラー
Windows環境にてWSL2を使っている場合は問題ないが、GitBash上で以下のようにRecce
をインストールしようとするとエラーが発生し、失敗する。
$ pip install recce
(略)
Building wheels for collected packages: pyminizip
Building wheel for pyminizip (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for pyminizip (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [5 lines of output]
running bdist_wheel
running build
running build_ext
building 'pyminizip' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pyminizip
Failed to build pyminizip
ERROR: Could not build wheels for pyminizip, which is required to install pyproject.toml-based projects
Recce
自体に問題があるわけではなく、Recce
の依存ライブラリのpyminizip
のインストールに失敗している。
エラーへの対処
エラーメッセージに記載された以下リンクからBuild Toolsをダウンロードする
Build Toolsをインストールすると、Visual Studio Build Tools 2022が自動で起動する。
Windows開発用のコンポーネントがインストールできるが、「個別のコンポーネント」タブから以下にチェックを入れてインストールをクリックする。
- MSVC v143 - VS 2022 C++ x64/x86 ビルドツール(最新)
- Windows 11 SDK (xx.x.xxxxx.x)
インストールが完了した後に、Recce
を再度インストールすると、今度はインストールが成功するはずである(再起動は必要ない)。
$ pip install recce
(略)
Successfully built pyminizip
Installing collected packages: ..., pyminizip, ..., recce
Windows 11で問題ないこと確認しているが、Windows 10を使用している場合は、Windows 10のSDKをインストールすれば良いと思われる。
考えられる原因
エラーの原因となったpyminizip
だが、これはパスワード付きzipファイルをWindowsで扱うことができるライブラリのようである。
pyminizip
のインストール時にWindows SDKをリンクしてビルドしている(Windows SDKを通じてzipファイルを扱っている)っぽい。そのため、開発者向けのWindows SDKを予めインストールしていないと、ビルドに失敗すると思われる。
参考