"BOKU"のITな日常

62歳・文系システムエンジニアの”BOKU”は日々勉強を楽しんでます

Windows10のAnaconda環境で、pip実行時に「error: command 'cl.exe' failed: No such file or directory」

Windows10Homeに、Anacondaをインストールして使ってます。

f:id:arakan_no_boku:20190316225326j:plain

 

いきなりエラー

 

あるライブラリ(python-Levenshtein)をpip installしようとしたら、いきなりエラーになりました。

エラーメッセージは「error: command 'cl.exe' failed: No such file or directory」です。

f:id:arakan_no_boku:20181212211848j:plain

 

cl.exeだからVC++だなあ

 

cl.exeが見つからない・・。

VC++か・・。

そういえば、Cコンパイラをインストールしとくのを忘れてました。

拡張モジュールの中には、インストール時にコンパイルするものがありますから。

www.python.jp

自分の環境は、Pythonの3.6。

だから、Visual Studio2017のCコンパイラのインストールが必要です。

ここからダウンロードします。

visualstudio.microsoft.com

ちょっと見つけにくいですけど。

f:id:arakan_no_boku:20181212212516j:plain

Build Tools for visual studio 2017 をダウンロードします。

vs_buildtools__1032378012.1544616641.exeみたいな名前のファイルがダウンロードされるので、実行して、インストーラに従って、Build Toolsをインストールします。

 

インストールしてcl.exeが見つからなくても慌てない

 

インストールしても、普通にCMDウインドウを立ち上げて実行するだけでは、同じエラーで失敗します。

cl.exeへのパスは自動で通りません。

かと言って、手でcl.exeにパスを通そうと思っても、cl.exeの場所は、そう簡単には見つかりません。

というか、自分はいまだにどこにあるか知りません。

何故かというと。

Pythonの拡張ライブラリがインストールしたいだけなら、「VC2017用X64_x86Cross Toolsコマンドプロンプト」を使えば良いからです。

インストールする都度、EXEを探して手作業で環境変数に追加するとか・・。

アナログすぎて、それが良い手順とはとても思えず、こちらの方法をとってます。

「VC2017用X64_x86Cross Toolsコマンドプロンプト」は、プログラムメニューから実行します。

f:id:arakan_no_boku:20181212214503j:plain

そうすると、コマンドプロンプトが立ち上がってくるので、そこで「pip install」を実行すれば、問題なく終わります。

f:id:arakan_no_boku:20181212214703j:plain

やれやれです。

まあ、一度インストールしておけば、Cコンパイラが必要な拡張モジュールをPIPするときにも、同じようにすれば良いわけです。

でも。

なんか、毎回環境構築しなおす都度、Cコンパイラ入れとくの忘れて、同じようにドタバタしてる気がします。 

学習してないです。

我ながら。