我之前在Streamlit Cloud上部署了一个使用chromadb
的应用。
这个应用程序在过去运行得很好。然而,今天我遇到了一个新的错误(如标题所示),应用程序已经停止运行。
我尝试基于solutions from the Streamlit forum进行故障排除,并按顺序执行了以下步骤:
1.通过添加pysqlite3-binary
更新了requirements.txt
文件。
1.在app.py
的顶部添加了以下三行代码:
__import__('pysqlite3')
import sys
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
在重启我的应用后,我发现了新的错误:
ModuleNotFoundError: No module named 'pysqlite3'
Traceback:
File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 552, in _run_script
exec(code, module.__dict__)
File "/mount/src/docgpt-streamlit/app.py", line 2, in <module>
import pysqlite3
随后,我再次尝试将pysqlite3
添加到requirements.txt
,但错误仍然存在。
根据管理应用的日志,我观察到Streamlit没有执行re-pip install操作。
这会导致pysqlite错误吗?如果是这样,我如何正确地启用Streamlit应用程序,以自动pip安装由于我的更新requirements.txt
?
2条答案
按热度按时间lmyy7pcs1#
现在我解决了这个问题。
即使您重新启动,streamlit应用程序也不会重新安装模块。
因此,我部署应用程序:
1.删除应用程序。
然后模块将重新安装。
ahy6op9u2#
我在Streamlit Cloud上遇到了类似的情况,但不是在Docker容器上。我SSHed了,虽然我的python版本很好,但由于某种原因,它运行的是一个较旧的sqlite:
原来我运行的是一个旧版本的debian(bullseye),Chroma的故障排除文档建议不要这样做,所以我把镜像升级到
python:3.11.5-bookworm
,解决了这个问题。