Issues with Chroma and Sqlite

Hi, I’m having some troubles with an LLM apps using Chroma for vector stores (via Langchain).

This the run time error message:

RuntimeError: �[91mYour system has an unsupported version of sqlite3. Chroma requires sqlite3 >= 3.35.0.�[0m�[94mPlease visit https://docs.trychroma.com/troubleshooting#sqlite to learn how to upgrade.�[0m

The strange thing is it has been working previously and still works in my local environment but not after deployed.

Any suggestions please?
Thanks!

1 Like

Hello @AnhNgDo, welcome to our community!

It seems that the version of SQLite on the deployment environment is not compatible with Chroma. The application seems to require SQLite version 3.35.0 or higher.

Does the version of SQLite in your deployed environment match that?

Thanks,
Charly

Thanks Charly!

I’m not sure, to be honest :slight_smile:

I deployed to Streamlit Cloud via Github - is there a way to configure the Streamlit container to meet the SQLite requirement for Chroma? It has been working fine before :frowning:

@AnhNgDo According to this 🔍 Troubleshooting | Chroma you might try using a more recent version of python, which should come with a newer version of sqlite. Do you know what version you are using now on the app? You could try recreating the Cloud app with python 3.11 and see if that works.

3 Likes

If that doesn’t work, you might instead be able to add pysqlite3-binary to your requirements.txt file, and add these lines to the top of your app

__import__('pysqlite3')
import sys
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')

in order to use that pip-installed package instead of the built-in sqlite3

7 Likes

Thanks @blackary.

I’m not sure which version of Python running on the deployed apps or how to check it. But that explains why it still works fine on my local machine (running 3.11).

How would I recreate the Cloud app with Python 3.11?

Much appreciated!

Hi @AnhNgDo,

I have the some issue with this sqlite3 version. I tried Python 11 to create the app on Streamlit Cloud. It didn’t work. The sqlite3 version is still 3.34.1.

Actually, I tried Python 9, 10, 11 to create app on Streamlit cloud. The sqlite3 version is always 3.34.1.

Use pysqlite3-binary as explained above.

Hi @Goyo

It’s not working. I got below error from streamlit cloud.

Of course sqlite3 is undefined in that scope. Uncomment import sqlite3 if you want to use the name there.

1 Like

Hi @Goyo

Ah, I’m stupid. It’s working now. Thanks a lot!

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.