Jupyter Lab on RHEL 9.4 gets error "No module named '_sqlite3'"

We are trying to make Jupyter Lab work on Red Hat Enterprise Linux 9.4 with Python 3.11.9, and it gets the following errors:

  • Error ModuleNotFoundError: No module named '_sqlite3', and then
  • error ModuleNotFoundError: No module named 'pysqlite2'.

Please see the command-line screenshot below for more details, and let me know if you need more information, including:

  • The exception back trace,
  • the freeze list of all Python PIP packages, and
  • the Linux version as uname -r.

Please let me know if you need more details, and we highly appreciate any hints and suggestions.

Command-line Screenshot:

(venv3.11) [datauser@data freeze]$ jupyter lab
Traceback (most recent call last):
  File "/data/python/venv3.11/lib/python3.11/site-packages/jupyter_server/services/sessions/sessionmanager.py", line 14, in <module>
    import sqlite3
  File "/usr/local/lib/python3.11/sqlite3/__init__.py", line 57, in <module>
    from sqlite3.dbapi2 import *
  File "/usr/local/lib/python3.11/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/python/venv3.11/bin/jupyter-lab", line 5, in <module>
    from jupyterlab.labapp import main
  File "/data/python/venv3.11/lib/python3.11/site-packages/jupyterlab/__init__.py", line 8, in <module>
    from .handlers.announcements import (
  File "/data/python/venv3.11/lib/python3.11/site-packages/jupyterlab/handlers/announcements.py", line 15, in <module>
    from jupyterlab_server.translation_utils import translator
  File "/data/python/venv3.11/lib/python3.11/site-packages/jupyterlab_server/__init__.py", line 6, in <module>
    from .app import LabServerApp
  File "/data/python/venv3.11/lib/python3.11/site-packages/jupyterlab_server/app.py", line 10, in <module>
    from jupyter_server.extension.application import ExtensionApp, ExtensionAppJinjaMixin
  File "/data/python/venv3.11/lib/python3.11/site-packages/jupyter_server/extension/application.py", line 17, in <module>
    from jupyter_server.serverapp import ServerApp
  File "/data/python/venv3.11/lib/python3.11/site-packages/jupyter_server/serverapp.py", line 107, in <module>
    from jupyter_server.gateway.managers import (
  File "/data/python/venv3.11/lib/python3.11/site-packages/jupyter_server/gateway/managers.py", line 32, in <module>
    from ..services.sessions.sessionmanager import SessionManager
  File "/data/python/venv3.11/lib/python3.11/site-packages/jupyter_server/services/sessions/sessionmanager.py", line 17, in <module>
    from pysqlite2 import dbapi2 as sqlite3  # type:ignore[no-redef]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'pysqlite2'
(venv3.11) [datauser@data freeze]$ cat freeze-1-after-jupyterlab.txt
anyio==4.4.0
argon2-cffi==23.1.0
argon2-cffi-bindings==21.2.0
arrow==1.3.0
asttokens==2.4.1
async-lru==2.0.4
attrs==23.2.0
Babel==2.15.0
beautifulsoup4==4.12.3
bleach==6.1.0
certifi==2024.6.2
cffi==1.16.0
charset-normalizer==3.3.2
comm==0.2.2
debugpy==1.8.1
decorator==5.1.1
defusedxml==0.7.1
executing==2.0.1
fastjsonschema==2.20.0
fqdn==1.5.1
h11==0.14.0
httpcore==1.0.5
httpx==0.27.0
idna==3.7
ipykernel==6.29.4
ipython==8.25.0
isoduration==20.11.0
jedi==0.19.1
Jinja2==3.1.4
json5==0.9.25
jsonpointer==3.0.0
jsonschema==4.22.0
jsonschema-specifications==2023.12.1
jupyter_client==8.6.2
jupyter_core==5.7.2
jupyter-events==0.10.0
jupyter-lsp==2.2.5
jupyter_server==2.14.1
jupyter_server_terminals==0.5.3
jupyterlab==4.2.2
jupyterlab_pygments==0.3.0
jupyterlab_server==2.27.2
MarkupSafe==2.1.5
matplotlib-inline==0.1.7
mistune==3.0.2
nbclient==0.10.0
nbconvert==7.16.4
nbformat==5.10.4
nest-asyncio==1.6.0
notebook_shim==0.2.4
overrides==7.7.0
packaging==24.1
pandocfilters==1.5.1
parso==0.8.4
pexpect==4.9.0
pip==24.1
platformdirs==4.2.2
prometheus_client==0.20.0
prompt_toolkit==3.0.47
psutil==6.0.0
ptyprocess==0.7.0
pure-eval==0.2.2
pycparser==2.22
Pygments==2.18.0
python-dateutil==2.9.0.post0
python-json-logger==2.0.7
PyYAML==6.0.1
pyzmq==26.0.3
referencing==0.35.1
requests==2.32.3
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rpds-py==0.18.1
Send2Trash==1.8.3
setuptools==70.1.0
six==1.16.0
sniffio==1.3.1
soupsieve==2.5
stack-data==0.6.3
terminado==0.18.1
tinycss2==1.3.0
tornado==6.4.1
traitlets==5.14.3
types-python-dateutil==2.9.0.20240316
typing_extensions==4.12.2
uri-template==1.3.0
urllib3==2.2.2
wcwidth==0.2.13
webcolors==24.6.0
webencodings==0.5.1
websocket-client==1.8.0
wheel==0.43.0
(venv3.11) [datauser@data freeze]$
(venv3.11) [datauser@data freeze]$ uname -r
5.14.0-427.22.1.el9_4.x86_64
(venv3.11) [datauser@data freeze]$ which pysqlite
/usr/bin/which: no pysqlite in (/data/python/venv3.11/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin)

try to grant 755 permission: sudo chmod -R 755 /data/python/venv3.11/lib/python3.11/site-packages