4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pip installしようとしたら"exit code1"、"Microsoft Visual C++ 14.0 is required"と表示された(Annoyの場合)

Last updated at Posted at 2022-07-26

はじめに

PythonのAnnoyというパッケージをインストールしようとした際に、以下の表示が出てインストールできなかったので対処した際のメモ。

  • exit code 1
  • error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio”

実行環境

  • Windows11(勝手にアップデートされてた。。)
  • Python 3.9.7 (Anaconda使用)

Annoyとは

Approximate Nearest Neighbors Oh Yeahの略。近傍探索に用いられるアルゴリズム。
Spotifyが作成、実装がしやすいので人気が出たらしい。
https://github.com/spotify/annoy

参考:
近傍探索ライブラリ「Annoy」のコード詳解
近似最近傍探索の最前線

近傍探索とは

d次元のデータ$x_0=(a_1,a_2,...a_d)$に対し、同じようなN個のd次元データ$x_1,x_2,...x_N$から、近いデータを取ってくる手法。
短く言えば、N個のベクトルのうち、与えられたクエリと距離の近いベクトルを取ってくること。

Annoyをインストールしてみる

コンソールでpip install annoyを実行する。

スクリーンショット 2022-07-24 011053.png

エラーでインストールに失敗。

対処法1:Visual C++ Build Toolsをインストール

Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio”とのことなので、言われた通りVisual C++ Build Toolsをダウンロードする。

参考:python pip実行時に「error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio”」が発生した場合の対処法

参考サイトの通り、「Build Tools for Visual Studio 2019」と、「MSCV v140」にチェックを入れてインストール。(要再起動)

スクリーンショット 2022-07-26 232412.png

無事インストールに成功。
{5DB2ECAB-E045-4E79-BEA6-90E21F38D16E}.tmp.png

対処法2:古いバージョンのPythonでインストールする

Visual C++ Build Toolsをインストールすると3GB以上になる。インストールしたくない場合、古いバージョンのPythonが入っている状態で、py -3.7 -m pip install のように別のバージョンを指定してインストールする。

参考:
pip installでエラーになりインストールできない場合(Windows)の原因4を参照

古いバージョンのPyhonフォルダにwheelファイルを入れてpipでインストールするという方法もあるらしいのだが、AnnoyのダウンロードページのBuilt DistributionのwheelファイルはMacOSのみのため使えない。

参考:
"ERROR: Command errored out with exit status 1"と出たときの解決策 - エンジニア くま Blog

ちなみに、wheelファイルの名前には"cp37"が含まれているので、少なくともPython3.7であればインストールは可能だろうと判断できる。
(cp=CPython≒Pythonのバージョンを表す)

4
1
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
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?