【解決】Pythonを最新版にしたらStreamlitが起動しない

スポンサーリンク

streamlit-aggridというライブラリが使ってみたかったので、今使用しているAnaconda環境を捨ててpipで都度都度必要なライブラリをインストールするようにしました。ついでに、pythonstreamlitのバージョンも最新にして起動したところ起動しない。。。。

今回はその時の事象について、備忘録として残しておこうと思います。

事象が発生した環境

事象が発生した環境は以下の通りです。

Python 3.10.4
streamlit-1.8.0
必要最低限でタイトルが表示されるだけのコードを書いただけです。
import streamlit as st
st.title('テストです')

上記コードを書いてstreamlitを起動させるために、以下のコマンドを実行。

streamlit run main.py

すると以下のエラーが・・・

AttributeError: module 'click' has no attribute 'get_os_args'

どうやらclickモジュールのget_os_argsという関数でエラーとなっているようです。
※clickライブラリは、コマンドラインパーサーとしてコマンドラインの引数を扱うライブラリです

対応方法

clickライブラリのバージョンをダウングレードする。

clickモジュールアンインストールしてバージョン指定してインストールすると治りました。

pip uninstall click
pip install click==8.0.4

インストールされていたclickのバージョンは、 8.1.0なのでダウングレードしました。

この状態で再度起動させると成功!

どうやら、clickモジュールのver8.1.0は、get_os_args関数が削除されているみたいなので動かないようです。githubを覗いてみると同じ事象が載ってました。

click.get_os_args is deprecated on module 'click 8.1.0' · Issue #4555 · streamlit/streamlit
Summary AttributeError: module 'click' has no attribute 'get_os_args' occured because click.get_os_args deprecated on module click 8.1.0 Steps t...

最新版をインストールしたときは、こういうこともあるので注意したほうがいいですね!

でもこの事象は最新版のpythonをインストールするたびにエラーになるような気がします。。。。

次のバージョンでは治るのでしょうか?

2022/04/16 追記 streamlitの最新バージョンでは、streamlitのインストール時に最新のclickモジュールをアンインストールして8.04にダウングレードしているみたいです。なのでこの事象が発生するのは、streamlitをインストールした後にpythonのバージョンを新しくしたときにのみ発生する事象だと思います。

コメント

タイトルとURLをコピーしました