0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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)

visual_studio_build_tools_2022.png

インストールが完了した後に、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を予めインストールしていないと、ビルドに失敗すると思われる。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?