导入 Hydralit 时出错:“ModuleNotFoundError:没有名为“streamlit.report_thread”的模块”

Lor*_*iro 5 python streamlit

我安装了 Hydralit,但当我尝试导入时出现以下错误:“ModuleNotFoundError:没有名为“streamlit.report_thread”的模块”。有趣的是,我可以导入和使用 Hydralit_components。

使用的版本:

hydralit >=1.0.9
hydralit_components >=1.0.4
streamlit >=0.89
python ==3.8.10
Run Code Online (Sandbox Code Playgroud)

完整错误:

Python 3.8.10 (default, Nov 26 2021, 20:14:08) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hydralit
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/lorena/.local/lib/python3.8/site-packages/hydralit/__init__.py", line 1, in <module>
    from hydralit.hydra_app import HydraApp
  File "/home/lorena/.local/lib/python3.8/site-packages/hydralit/hydra_app.py", line 5, in <module>
    from hydralit.sessionstate import SessionState
  File "/home/lorena/.local/lib/python3.8/site-packages/hydralit/sessionstate.py", line 1, in <module>
    import streamlit.report_thread as ReportThread
ModuleNotFoundError: No module named 'streamlit.report_thread'
Run Code Online (Sandbox Code Playgroud)

Phi*_*hil 4

我能够通过更换来解决我的问题

from streamlit.report_thread import add_report_ctx
Run Code Online (Sandbox Code Playgroud)

from streamlit.script_run_context import add_script_run_ctx
Run Code Online (Sandbox Code Playgroud)

(当然,用 替换 的用法add_report_ctxadd_script_run_ctx

然而,我在streamlit讨论页面上看到了关于这个问题的问答,他们说这个问题是在1.4中引入的,并回滚到1.3。所以我不确定我的解决方法可能会出现什么其他问题。但我能够使导入错误消失,并且快速测试表明它有效。