我正在尝试使用 python concurrent.futures.ThreadPoolExecutor() 为给定的元数据运行“摄取”函数的多个实例。 “final”是一个元组列表,其中保存所调用函数的参数值。
根据现有的讨论,我安装了streamlit==1.12.0来使用add_script_run_ctx()
调试信息 Streamlit版本:1.12.0 Python版本:3.9.13 管道环境
没有streamlit依赖的原始python脚本(工作正常):
with concurrent.futures.ThreadPoolExecutor() as executor:
executor.map(lambda f: ingestion(*f), final)
代码片段:
from streamlit.runtime.scriptrunner import add_script_run_ctx
with concurrent.futures.ThreadPoolExecutor() as executor:
abc = executor.map(lambda f: ingestion(*f), final)
add_script_run_ctx(abc)
预期行为:
代码应进入“摄取”函数并迭代“最终”列表中存在的元组。
实际行为:
线程“ThreadPoolExecutor-8_0”:缺少 ScriptRunContext ‘generator’对象没有属性‘streamlit_script_run_ctx’
你找到解决办法了吗?