Streamlit으로 프로토타입 구현 중 에러가 발생했다.
File "/opt/conda/envs/lib/lib/python3.8/site-packages/streamlit/scriptrunner/script_runner.py", line 475, in _run_script
exec(code, module.__dict__)
File "/opt/ml/input/code/project/pipeline/zzolflix.py", line 4, in <module>
import hydralit as hy
File "/opt/conda/envs/lib/lib/python3.8/site-packages/hydralit/__init__.py", line 5, in <module>
from hydralit.hydra_app import HydraApp
File "/opt/conda/envs/lib/lib/python3.8/site-packages/hydralit/hydra_app.py", line 4, in <module>
from hydralit.sessionstate import SessionState
File "/opt/conda/envs/lib/lib/python3.8/site-packages/hydralit/sessionstate.py", line 8, in <module>
from streamlit.script_run_context import get_script_run_ctx
ModuleNotFoundError: No module named 'streamlit.script_run_context'
라이브러리를 설치하고, hydralit까지 설치해서 가장 기본적인 앱을 실행시켰는데, 해당 에러가 나왔다.
hydralit은 streamlit에 영향을 받는 라이브러리인 것 같다.
streamlit에 버전에 따라 hydralit쪽에서 에러가 발생할 수 있다.
[해결방법]
File "/opt/conda/envs/lib/lib/python3.8/site-packages/hydralit/sessionstate.py", line 8, in <module>
이 경로로 이동한 뒤, 소스를 직접 수정해주어야 한다.
#v1.7.0
from streamlit.script_run_context import get_script_run_ctx
#v1.8.0
from streamlit.scriptrunner.script_run_context import get_script_run_ctx
내가 테스트 한 버전은 streamlit==1.9.0 이었다.
그래서 후자로 변경하였더니 에러가 해결되었다.
[참고링크]
https://discuss.streamlit.io/t/streamlit-script-run-context-gone-with-1-8/23526/2