My app is running locally and now I try to deploy it since yesterday.
I can’t share the app because it is not intended for the public.
I get changing errors for chromadb and sqlite3.
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
After I fix that one, I get another, and then another.
I tried the solutions here on the forum, especially:
import pysqlite3
import sys
sys.modules["sqlite3"] = sys.modules.pop("pysqlite3")
import sqlite3
import os
import pandas as pd
from typing import List
from pydantic import BaseModel, Field
import tiktoken
import streamlit as st
from sqlalchemy import create_engine
from langchain.schema import Document, HumanMessage, AIMessage
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_chroma import Chroma
from langchain_openai import ChatOpenAI
from langchain_openai import OpenAIEmbeddings
from langchain.output_parsers import PydanticOutputParser
adding the above three lines over my import.
I went to deploying my app with no requirements.txt file, and just installing the packages online.
I changed python version from 3.12 to 3.11 and back.
Now I like to ask the following question:
How do I get this to run, what is a proven way to not run into sqlite3 errors?
I would rewrite my code and everything.
import pandas as pd
import tiktoken
import streamlit as st
from typing import List
from pydantic import BaseModel, Field
from sqlalchemy import create_engine
# LangChain imports
from langchain.schema import Document, HumanMessage, AIMessage
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.output_parsers import PydanticOutputParser
from langchain_chroma import Chroma
from langchain_openai import ChatOpenAI
from langchain_openai import OpenAIEmbeddings
after carefully installing with pip remotely I get
RuntimeError: e[91mYour system has an unsupported version of sqlite3. Chroma requires sqlite3 >= 3.35.0.e[0m e[94mPlease visit https://docs.trychroma.com/troubleshooting#sqlite to learn how to upgrade.e[0m
RuntimeError: e[91mYour system has an unsupported version of sqlite3. Chroma requires sqlite3 >= 3.35.0.e[0m e[94mPlease visit https://docs.trychroma.com/troubleshooting#sqlite to learn how to upgrade.e[0m
Now I can’t install pysqlite3-binary:
Running setup.py clean for pysqlite-binary
Failed to build pysqlite-binary
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (pysqlite-binary)
This is confusing. I was thinking you were deploying to streamlit cloud, but it seems I was wrong. It is hard to tell what is going in because you are omitting almost all the relevant information from the tracebacks. And your description of the issue is inconsistent, like you saying “I can’t install pysqlite3-binary” and then showing an error related to pysqlite-binary, which is a different pypi package.
You need to provide details about your deployment environment, complete tracebacks and a clear explanation of what you are doing.
This should work for streamlit cloud, even for python 3.12 (you can skip the second part of step 4):
Do not try to install pysqlite3, pysqlite, psqlite-binary, etc. Just pysqlite3-binary. Do not try this in a Windows system, it won’t work there and you don’t need it anyway.