Install sqlite3.
sudo apt install sqlite3
Install spatialite.
sudo apt install libsqlite3-mod-spatialite
Compile python3 with extension support for sqlite3. Here I'm using pyenv to manage the installation.
LDFLAGS="-L/lib/x86_64-linux-gnu/" PYTHON_CONFIGURE_OPTS="--enable-loadable-sqlite-extensions" pyenv install 3.10.5
Now spatialite is available and geometries can be loaded from sqlite3 databases using geopandas directly. Make sure to use the python you just installed.
import sqlite3
import geopandas as gpd
con = sqlite3.connect("EcrRiv.sqlite")
con.enable_load_extension(True)
con.execute("select load_extension('mod_spatialite');")
gpd.GeoDataFrame.from_postgis("SELECT CATCHMENT_,Hex(ST_AsBinary(Geometry)) as geom FROM c_tr", con, geom_col="geom")