よちよちpython

独習 python/Qpython/Pydroid3/termux/Linux

【Anaconda】Flask実行時に"colorama"がNoModuleエラー

前回:【WSL/Anaconda/Flask】仮想環境の作成とFlaskのインストール、簡単なWebアプリ作成 - よちよちpython

の投稿でエラーが出なかったので気付かなかったのですが、
環境を変えたらエラーが出たのでメモしておきます。

エラー内容

Flaskを動かすpyファイルを実行する時に、「colorama という名のモジュールがありませんよ」と出た。



FlaskはClickというライブラリを使っており、Clickcoloramaを使っている。
エラー内容は、click/_compat.pyの読み込みでimport coloramaする時に出ている。



エラーの出ない環境

前回と同じ環境。

  • Windows10 Home
  • WSL : Ubuntu
  • Anaconda 4.11.0
  • Python 3.9.7
  • 外部ライブラリ
    • Flask 2.0.2
    • Click 8.0.3
    • coloramaはインストールされていない



前回の投稿 ではcoloramaがインストールされていないにも関わらずエラーが出ていない。いま実行確認したが、なぜか出ない。普通に動く。coloramaが入っていないのも確認した。逆にエラー無しに動くのがエラーなのではないか…



エラーが出る環境

  • Windows10 Home
  • Anaconda 4.11.0
  • Python 3.9.7
  • 外部ライブラリ
    • Flask 2.0.2
    • Click 8.0.3
    • coloramaはインストールされていない



Flaskをインストールすると、「coloramaが依存ライブラリなら一緒に自動インストールしなさいよ」と思うが、しかし今までこんなエラー出てなかったんじゃないか。
同じエラーを検索してもstackoverflowの2021.10の投稿 python - Is Colorama required for Flask or Click? - Stack Overflow ぐらいしか引っ掛からないし。


あと、WSLでエラー無しに動くのも謎。Linux版のclickはcoloramaを使っていないということ?
【追記】
pip show clickコマンドでclickの依存関係(Requires)を見たら、WSLの方はcoloramaが載っていない。Linux版clickはcoloramaを使って無い。Windows版の方は載っている。追記おわり。



対策

【Windows限定?】Flask実行時の'colorama' No Module のエラー対策 - よちよちpython



以上、メモまで。