[homeassistant.components.recorder.util] Version 3.7.17 of SQLite is not supported

OK I’m completely at a lost so far, I have no idea what to do next… I’ve tried many things and still no joy in getting my HA to start with the new SQLlite…

When I look at python env its report 3.38. but somehow hass is still picking up 3.7… HELP?

❯ which python3
~/homeassistant/bin/python3
❯ python3
Python 3.9.9 (main, Jun  3 2022, 08:50:20)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.38.2'

But on the logs:

2022-06-03 09:00:43 ERROR (Recorder) [homeassistant.components.recorder.util] Version 3.7.17 of SQLite is not supported; minimum supported version is 3.31.0. Starting with Home Assistant 2022.6 this prevents the recorder from starting. Please upgrade your database software
2022-06-03 09:00:43 ERROR (MainThread) [homeassistant.setup] Setup failed for recorder: Integration failed to initialize.

Any idea what I can be doing wrong?

Thanks

Ok so after some digging I was able to fix it following this: How to upgrade SQLite to the latest shared library version

And copying the new libsqlite3.so.0.8.6 from /usr/local/lib to the old location /usr/lib64/

Not sure if the right way, but at least its back working :slight_smile:

Hi,
I have the same problem like you. However, I run HA on an old Mac with Sqlite3 version 3.19.3. A newer version of sqlite3 was installed on macOS using homebrew. After creating the python virtual environment, I specified a PYTHONPATH, where to find the homebrew version of sqlite3 and within the python virtual environment, I do see the new version:

(venv) homeassistant2022> sqlite3 --version
3.38.5 2022-05-06 15:25:27
(venv) homeassistant2022> echo $PYTHONPATH
/usr/local/Cellar/sqlite/3.38.5/bin/sqlite3
(venv) homeassistant2022> python
Python 3.9.13 (main, Jun 11 2022, 14:28:39) 
[Clang 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> for path in sys.path:
...   print(path)
... 

/usr/local/Cellar/sqlite/3.38.5/bin/sqlite3
/Users/thomas/.pyenv/versions/3.9.13/lib/python39.zip
/Users/thomas/.pyenv/versions/3.9.13/lib/python3.9
/Users/thomas/.pyenv/versions/3.9.13/lib/python3.9/lib-dynload
/Users/thomas/Applications/homeassistant2022/venv/lib/python3.9/site-packages
>>>
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.19.3'
>>>

Unfortunately, I am not even that far as you were, because when I import sqlite3 in python console, I even get the old version 3.19.3.

Any ideas or help would be appreciated.

I know this is an old post, but I came here looking for this as SQLite 3.40.1 will be required from version 2025.2.0

I fixed this on macOS by setting

export DYLD_LIBRARY_PATH=/usr/local/opt/sqlite/lib

This will make Python load the shared library installed with brew install sqlite