本サイトは広告・プロモーションが含まれています
Python

【Streamlit】Community CloudでopenCVがImportError: libGL.so.1【困り事解決メモ】

どうもこんにちは。
このブログの管理人のコンです。


画像系AIのwebアプリを、Streamlitが提供してくれているCommunity Cloudへデプロイしようとしたら
import cv2のpythonコードの行で

ImportError libGL.so.1 cannot open shared object file No such file or directory

という謎のエラーを起こしてしまいました。

今回はこのエラーの解決手順を記します。

公式の解答


なかなかググってもヒットしないのですが
下のリンクにStreamlitからの公式な解決策が提示してありました。

内容を解説していきます。

手順1:opencv-python-headlessを使う


まずは、requirements.txtの記述を確認・変更します。


Community Cloudで自作appを公開する時には
使用するライブラリをrequirements.txtに記述する必要があります。

一般的にはopenCVのrequirements.txtへの記述は

opencv-python==4.7.0.72

のように書きますが

streamlitでは

opencv-python-headless==4.6.0.66

と書きます。


Pythonのコードは
import cv2のままで大丈夫です。

手順2. packages.txtをアップロードする


opencv-python-headlessをrequirements.txtに記述してもエラーが解決しない場合は
packages.txtも一緒にGitHubにアップロードします。

libgl1


手順1と手順2をこなせば
おそらくエラーは解決でるかと思います。(できなかったら申し訳ありません)

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA