pythonmacosvirtualenvsqlite3-python

How to use higher version of sqlite3 in mac


I got this error "RuntimeError: Your system has an unsupported version of sqlite3. Chroma requires sqlite3 >= 3.35.0." To check the version, I tried sqlite3 --version and I got 3.33.0 2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0alt2 So I go to :https://www.sqlite.org/download.html and download Precompiled Binaries for Mac OS X (x86) which seems to be version 3.43

But I don't know how to use it instead of the old version.

I have tried to follow: https://gist.github.com/defulmere/8b9695e415a44271061cc8e272f3c300 to do these 2

I executed following steps to resolve this error:

Inside my python3.10.8's virtual environment i.e. venv3.10, installed pysqlite3-binary using command: pip install pysqlite3-binary

Added these 3 lines in venv3.10/lib/python3.10/site-packages/chromadb/__init__.py at the beginning:

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

but I got this error:

ERROR: Could not find a version that satisfies the requirement pysqlite3-binary (from versions: none)
ERROR: No matching distribution found for pysqlite3-binary

I also try to add the lines to the code enter image description here but got error as well: ModuleNotFoundError: No module named 'pysqlite3'

What I am doing wrongly and how to fix it please?


Solution

  • I fixed this by:

    brew install python
    

    it will install the latest version of python (3.11) then install everything again using this python version by:

    python3.11 -m pip install ...
    

    and also run everything using this python version by:

    python3.11 file.py