pip installの際に「error: Microsoft Visual C++ 14.0 is required」が発生した場合の対処方法についてまとめます。
pip install時のエラー
Pythonでpip installを実施した際に以下のようなエラーが発生しました。その時の対処した方法について説明します。
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/
私がこのエラーに遭遇したのは「pycrypto」のインストールの際でしたが、他のパッケージインストールでも発生する可能性があります。もし、発生した場合の対処方法になりうる方法をご紹介します。
対処方法
発生したエラーを読んでみると「Microsoft Visual C++ 14.0 もしくはそれ以上」が必要と記載されています。
Microsoft Visual C++ 14.0 or greater is required.
また、「Microsoft C++ Build Tools」を取得するようにリンク付きでエラーが出ています。
Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
そこでエラーにある通りhttps://visualstudio.microsoft.com/visual-cpp-build-tools/からインストールを行います。以降で必要なコンポーネントをインストールする手順を紹介します。
具体的な対処手順
リンク先に遷移すると以下のように記載がありますので「Build Toolsのダウンロード」から必要コンポーネントをダウンロードします。(※サイトの構成によりダウンロードボタンの位置などは変わっている可能性がありますのでご注意ください)
ダウンロードされたexeファイルを起動して、手順に従ってインストールをしてください。
完了すると以下のようなBuild Toolsが起動されると思います。起動されない場合はスタートメニューから「Visual Studio Installer」を探して起動してください。
「Visual Studio Build Tools 2019」の「変更(M)」をクリックすると以下のような画面になりますので「C++によるデスクトップ環境」にチェックを入れます。その際に右側に表示されるインストールの詳細で「MSVC v140」という項目についてもチェックを入れてインストールします。
右下の「変更」をクリックしてインストールを開始します。インストールが開始されますがサイズも大きいため少し時間がかかります。
再起動する必要がありますので再起動を実行します。再起動を実施した後に、pip installを再度実行して成功すればOKです。
上記手順でも失敗する場合
私の場合、上記で紹介したMicrosoft Visual C++ 14.0のインストールを実施するだけでは解決せず別のエラーが表示されました。以下のようなエラーです。
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
どうやら「cl.exe」というプログラムに関するもののようです。また、エラーの細かな内容では「inttypes.h」というヘッダファイル関連でエラーが出ていました。少し調べたところ以下の手順でエラーを解消しました。
【対応手順】
1.「C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include」へ移動します。
※14.29.30133についてはインストールバージョンにより異なる場合があります。
2.1で移動したフォルダ内にあるstdint.hをコピーし、コピーしたstdint.hを「C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt」へ配置します。
3.次に「C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\inttypes.h」ファイルを任意のファイル名でコピーしてバックアップしておきます。その後、inttypes.hの以下記載を変更します。
※バックアップしているのはうまく動作しなかった時に元に戻せるようにするためです。inttypes.hのバックアップは取っておきましょう。
【変更前】
#include <stdint.h>
【変更後】
#include "stdint.h"
- ファイルの編集には管理者権限ユーザで実施する必要があります。
- inttypes.hを対象フォルダで直接編集・保存できないような場合は、一度デスクトップ等で編集し、その後対象フォルダに上書きするとうまくいく場合があります。
状況により上記では解決しないかもしれませんが、もしMicrosoft Visual C++ 14.0のインストールだけでは改善しない場合には、上記についても試してみていただければと思います。