Skip to content

chromadb fails in codespaces because of old version of sqlite3 #251

@rickyloynd-microsoft

Description

@rickyloynd-microsoft

Code examples that use chromadb (like retrieval) fail in codespaces.

To reproduce:

  • Create or start a codespace.
  • Launch python in VS Code's terminal window
$ python
Python 3.10.12 (main, Jun  7 2023, 19:32:10) [GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
  • Attempt to import chromadb
>>> import chromadb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/vscode/.local/lib/python3.10/site-packages/chromadb/__init__.py", line 69, in <module>
    raise RuntimeError(
RuntimeError: Your system has an unsupported version of sqlite3. Chroma requires sqlite3 >= 3.35.0.
Please visit https://docs.trychroma.com/troubleshooting#sqlite to learn how to upgrade.
  • Check the sqlite3 version
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.34.1'

Note that sqlite3 is not a pip-installable package, so upgrading it to a more recent version is non-trivial.

@sonichi found that the same error occurs with python 3.11.

No error occurs after I use Conda to create a virtual environment on Windows or Linux, because the sqlite3 version is then 3.41.2 for all the python versions I've tried.

Since test_retrieve_utils.py doesn't hit this error in our automatic continuous integration tests, GitHub must somehow run pytest using a version of sqlite3 that satisfies chromadb.

Metadata

Metadata

Labels

documentationImprovements or additions to documentationragretrieve-augmented generative agents

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions