Found another clue when I upgraded .venv folder to Python3.13 for the package my component uses.
Same error, this time from pytest coverage:
File "/mnt/b/HomeAssistant/sonnen_api_v2/.venv/lib/python3.13/site-packages/pytest_cov/plugin.py", line 9, in <module>
import coverage
File "/mnt/b/HomeAssistant/sonnen_api_v2/.venv/lib/python3.13/site-packages/coverage/__init__.py", line 24, in <module>
from coverage.control import (
...<2 lines>...
)
File "/mnt/b/HomeAssistant/sonnen_api_v2/.venv/lib/python3.13/site-packages/coverage/control.py", line 27, in <module>
from coverage.collector import Collector
File "/mnt/b/HomeAssistant/sonnen_api_v2/.venv/lib/python3.13/site-packages/coverage/collector.py", line 20, in <module>
from coverage.data import CoverageData
File "/mnt/b/HomeAssistant/sonnen_api_v2/.venv/lib/python3.13/site-packages/coverage/data.py", line 26, in <module>
from coverage.sqldata import CoverageData
File "/mnt/b/HomeAssistant/sonnen_api_v2/.venv/lib/python3.13/site-packages/coverage/sqldata.py", line 16, in <module>
import sqlite3
File "/usr/local/lib/python3.13/sqlite3/__init__.py", line 57, in <module>
from sqlite3.dbapi2 import *
File "/usr/local/lib/python3.13/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'
I found this article that lead me to a solution:
missing-sqlite3-after-python3-compile-on-linux
I had installed sqlite3 dev using:
sudo apt instal libsqlite3-dev
The default ./configure shows this for sqlite3:
checking for sqlite3 >= 3.15.2... yes
checking for sqlite3.h... yes
checking for sqlite3_bind_double in -lsqlite3... yes
checking for sqlite3_column_decltype in -lsqlite3... yes
checking for sqlite3_column_double in -lsqlite3... yes
checking for sqlite3_complete in -lsqlite3... yes
checking for sqlite3_progress_handler in -lsqlite3... yes
checking for sqlite3_result_double in -lsqlite3... yes
checking for sqlite3_set_authorizer in -lsqlite3... yes
checking for sqlite3_trace_v2 in -lsqlite3... yes
checking for sqlite3_value_double in -lsqlite3... yes
checking for sqlite3_load_extension in -lsqlite3... yes
checking for sqlite3_serialize in -lsqlite3... yes
checking for **--enable-loadable-sqlite-extensions... no**
Changed the configure command to:
sudo ./configure --enable-optimizations **--enable-loadable-sqlite-extensions --with-pydebug**
checking for --enable-loadable-sqlite-extensions... yes
which fixed the issue with pytest.
Virtual environment did not have to be recreated, it just worked with rebuilt Python3.13.
Core script/setup also worked after Python rebuild.