Pythonライブラリ「numba」のアップデートでエラー
(本稿の趣旨とは外れるので詳しく触れませんが、numbaはPythonをJITコンパイルして高速化するライブラリです)
起こったこと
Pythonのライブラリ「numba」をpipでアップデートしようと思いました
pip install -U numba
と…(ポチポチ)
ERROR: Cannot uninstall 'llvmlite'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
なんでや!
どうやらnumbaを使うのに必要な「llvmlite」が入らないようです
とりあえずこっちだけアップデートしてみます
pip install -U llvmlite
ERROR: Cannot uninstall 'llvmlite'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
うん、知 っ て た
というわけで解決法
githubにそれっぽい記事があります(…が、最初の回答は微妙に間違ってます)
訂正コメがいくつかついていますが、正しいコマンドはpip install llvmlite --ignore-installed
ですね
(最初のやつはハイフンが抜けてる)
というわけで今度こそ!
pip install llvmlite --ignore-installed
pip install -U numba
これでうまくいきました
原因
わかりません!
誰か賢い人教えて!!
ちなみに、ちょっと調べてみたところ「setup.py」(なにそれ)でインストールされたライブラリは基本的にpipでいじれなくなるそうです
たぶん本当の原因
興味本位でAnacondaのインストール直後の状況でアップデートを試みてみたところ、同様のエラーが発生しました。
というわけで、どうやら2020年5月版のAnacondaは元々numbaのアップデートが(少なくとも通常の方法では)できない模様。
まあ、さすがに最近のAnacnodaでは改善されているようですが…
2021年のPython3.8版や2023年春のPython3.10版でも修正されていない模様(この辺は検証しきれてません)
もうちょっと調べた結果を追記
最近のAnaconda(具体的にはPython3.9の入ったAnaconda)では改善されていると思っていたのですが、2023年春ごろのAnaconda(Python3.10入り)でも再びこの現象に遭遇。なおってなかったんかい!
まあ、相変わらずpip install -U numba --ignore-installed
で対処できるので落ち着いて対処しましょう。
…道理で最近でもちらほらいいねが付くわけだ。
環境
Windows10
Anaconda3.7.6
numba 0.48.0->0.56.2
llvmlite 0.31.0->0.39.1
あとがき
僕は今までダラダラと長ったらしい駄文をqiitaに書き連ねていたのですが、シンプルに最低限の情報だけ書いたほうが見やすいしサクッと書けるしで絶対いいですね