背景
GW直前の4月末まで正常動作していたPyCaret環境。
5月に入って改めて触ったところ、ソース自体は変更していないのですがエラーで動かず。
解決までに少し時間を溶かしてしまったので、皆様の共有までにメモとして残します。
エラー詳細
再現環境
- Google Colab 標準ランタイム環境(非GPU)
- PyCaretバージョン : 2.3.10
エラー再現手順
以下コマンドで pycaret をインストールする。
!pip install pycaret
ClassificationやRegressionのモジュールをImportしようと試みる。
from pycaret.regression import *
エラーメッセージ
上記手順を行うと、以下のようなエラーメッセージが出てモジュール読み込みに失敗します。
ImportError
Traceback (most recent call last)
<ipython-input-1-************> in <module>()
----> 1 from pycaret.regression import *
5 frames
/usr/local/lib/python3.7/dist-packages/pandas/compat/_optional.py in import_optional_dependency(name, extra, errors, min_version)
116 except ImportError:
117 if errors == "raise":
--> 118 raise ImportError(msg) from None
119 else:
120 return None
ImportError: Missing optional dependency 'Jinja2'. DataFrame.style requires jinja2. Use pip or conda to install Jinja2.
解決策
根本的な原因まではわかっていないですが、Jinja2を要求している pandas-profiling のバージョンを一つ下げることで解消できます。
pipコマンド実行後は、ランタイムを再起動してください。
!pip install pandas-profiling==3.1.0
想定される原因
pandas-profilingさんが、丁度先日(2022/05/02)にv3.2.0のリリースをしているので、そこで何かしらの依存関係が更新されて今回のImport Errorになったのかなと想像しています。
濡れ衣だったらゴメンナサイ...。
ご参考になれば幸いです。