目次
pip実行時に「error: command 'cl.exe' failed: No such file or directory」
Windows10Homeに、Anacondaをインストールして使ってます。
普通につかっていたのですが、ある日ライブラリ(python-Levenshtein)をpip installしようとしたら、いきなりエラーになりました。
エラーメッセージは「error: command 'cl.exe' failed: No such file or directory」です。
コンパイラがはいってない
拡張モジュールの中には、インストール時にコンパイルするものがあります。
どうやらインストールしようとしたライブラリがそれだったようです。
メッセージは「 'cl.exe' failed: No such file or directory ・・ようするに・・・cl.exeが見つからない・・」です。
僕の環境には、Cコンパイラは確かにはいっていません。
自分の環境は、Pythonの3.6。
だから、Visual Studio2017のCコンパイラのインストールが必要です。
ここからダウンロードします。
Build Tools for visual studio 2017
ちょっと見つけにくいですけど。
Build Tools for visual studio 2017 をダウンロードします。
vs_buildtools__1032378012.1544616641.exeみたいな名前のファイルがダウンロードされるので、実行して、インストーラに従って、Build Toolsをインストールします。
pipをToolsコマンドプロンプトで実行
インストールしても、普通にCMDウインドウを立ち上げて実行するだけでは、同じエラーで失敗します。
cl.exeへのパスは自動で通りません。
かと言って、手でcl.exeにパスを通そうと思っても、cl.exeの場所は、そう簡単には見つかりません。
というか、自分はいまだにどこにあるか知りません。
何故かというと。
Pythonの拡張ライブラリがインストールしたいだけなら、「VC2017用X64_x86Cross Toolsコマンドプロンプト」を使えば良いからです。
インストールする都度、EXEを探して手作業で環境変数に追加するとか・・。
アナログすぎて、それが良い手順とはとても思えず、こちらの方法をとってます。
「VC2017用X64_x86Cross Toolsコマンドプロンプト」は、プログラムメニューから実行します。
そうすると、コマンドプロンプトが立ち上がってくるので、そこで「pip install」を実行すれば、問題なく終わります。
やれやれです。
まあ、一度インストールしておけば、Cコンパイラが必要な拡張モジュールをPIPするときにも、同じようにすれば良いので、最初の1回だけなんですが、毎回環境構築しなおす都度、Cコンパイラ入れとくの忘れて、同じようにドタバタしてる気がします。
学習してないです。
我ながら┐(´∀`)┌ヤレヤレ。