0. 事の発端
それはPythonでのデータ分析を勉強中のことでした。
自然言語処理のお勉強で、形態素解析をするためにMeCabをjupyter noteboookで使いたい(ちなみにOSはWindows11)と思い、Anacondaにインストールする作業をしていました。
ところが、MeCabとMeCab-python3の両方をインストールしないといけないことが分かっておらず、コマンドプロンプトでMeCabのバージョンは出力できるのにいざpythonでimportするとエラーになったことで「あれれ~おかしいぞ~~??」とあれこれpathを変えてみたりAnacondaをupdateしてみたりしているうちに、コマンドプロンプトからもAnaconda Promptからも、condaコマンドを使おうとするととにかく「AttributeError: module 'colorama' has no attribute 'init'」とエラーが出るようになってしまいました。
ちなみに超蛇足ですが、この他「コマンドプロンプトからjupyter notebookが開けなくなった」「コマンドプロンプトでpython
と打ってもインタプリタが開かずWindowsストアが開くようになってしまった」「jupyter notebookのkernelがpythonを認識できなくなって使えない」などなど色んな踏んだり蹴ったりが連鎖的に起こり、日曜日が溶けました。悲しい。
悲しすぎて、解決策がなかなか見つからず一番最後まで残っていたこの問題が今朝急転直下で解決したことが衝撃過ぎてこれはいつか誰かの役に立てば…と、腹いせに愚痴を書き殴る 備忘録を残します。
1. 解決できた方法
結論を言うと、どうやらcoloramaの中身自体が消えてしまったことが原因のようでした。
解決方法は以下。
-
まずはここからcoloramaのtar.gzを適当なフォルダにダウンロード。
https://pypi.org/project/colorama/#files -
解凍するには、コマンドプロンプトなどで以下を叩く。
tar -xzf ファイル名.tar.gz
-
解凍したフォルダの中にある「colorama」ディレクトリを、
.../anaconda/Lib/site-packages/colorama
と置き替えることで解決。
この問題を解決する前は、このcoloramaフォルダの中身が空っぽになっていました。
2. 参考
最終的に解決策はこちらから見つけました。
stall Jupyter in conda env - "AttributeError: module 'colorama' has no attribute 'init'"
この記事が参照しているissue 8842にあるように、確かにconda update -all
をやった気もするので、これの影響でcoloramaの中身が吹っ飛んでしまったのが原因だったようです。
3. 結論
「環境構築が一番しんどい」と言われる所以の片鱗を味わい、僕もエンジニアになったんだなぁ!と思いました。(喉元過ぎて熱さを忘れそうな人)
みんなも環境構築するときには設定をぶっ壊さないよう気を付けよう!