streamlit: в вашей системе установлена ​​неподдерживаемая версия sqlite3. Chroma требует sqlite3 >= 3.35.0

Ранее я развернул приложение в Streamlit Cloud , которое использовалоchromadb.

Раньше приложение работало нормально. Однако сегодня я столкнулся с новой ошибкой (как указано в заголовке), и приложение перестало работать.

Я попытался устранить неполадки, используя решения с форума Streamlit , и последовательно выполнил следующие шаги:

  1. Обновил файл, добавивpysqlite3-binary.
  2. Добавлены следующие три строки кода вверху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снова, но ошибка не исчезла.

Согласно журналам приложения управления , я заметил, что Streamlit не выполнил действие повторной установки .

Может ли это быть причиной ошибки pysqlite? Если да, то как я могу правильно включить приложение Streamlit для автоматической установки pip из-за моего обновленногоrequirements.txt?

2 ответа

Теперь я решил эту проблему.

Приложениеstreamlit не будет переустанавливать модуль даже после перезагрузки .

Поэтому я развертываю приложение:

  1. Удалить приложение.
  2. Обновить новое приложение.

Затем модуль будет переустановлен.

Я столкнулся с чем-то подобным не в Streamlit Cloud, а в докер-контейнере. Я подключился по SSH, и хотя моя версия Python была в порядке, по какой-то причине на ней работал более старый sqlite:

      Python 3.11.3

>>> import sqlite3
>>> sqlite3.version
'2.6.0'

Оказывается, я использовал более старую версию Debian (яблочко), против которой не советует документ по устранению неполадок Chroma , поэтому я увеличил изображение доpython:3.11.5-bookwormи это решило проблему.

Другие вопросы по тегам