我使用的是 Debian 12 我在 ~/.venv 中使用 virtualenv 创建了一个虚拟环境 然后我用
pip install jupyter
安装了jupyter笔记本
现在我运行 jupyter notebook
并抛出此错误
(.venv) marcelaar@marcel:~$ jupyter notebook
Traceback (most recent call last):
File "/home/marcelaar/.venv/lib/python3.11/site-packages/jupyter_server/services/sessions/sessionmanager.py", line 14, in <module>
import sqlite3
File "/usr/lib/python3.11/sqlite3/__init__.py", line 57, in <module>
from sqlite3.dbapi2 import *
File "/usr/lib/python3.11/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: /usr/lib/python3.11/lib-dynload/_sqlite3.cpython-311-x86_64-linux-gnu.so: undefined symbol: sqlite3_enable_load_extension
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/marcelaar/.venv/bin/jupyter-notebook", line 5, in <module>
from notebook.app import main
File "/home/marcelaar/.venv/lib/python3.11/site-packages/notebook/app.py", line 17, in <module>
from jupyter_server.serverapp import flags
File "/home/marcelaar/.venv/lib/python3.11/site-packages/jupyter_server/serverapp.py", line 107, in <module>
from jupyter_server.gateway.managers import (
File "/home/marcelaar/.venv/lib/python3.11/site-packages/jupyter_server/gateway/managers.py", line 33, in <module>
from ..services.sessions.sessionmanager import SessionManager
File "/home/marcelaar/.venv/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'
我也尝试使用
pip install pysqlite2
安装 pysqlite2 但我得到了
ERROR: Could not find a version that satisfies the requirement pysqlite2 (from versions: none)
ERROR: No matching distribution found for pysqlite2
甚至我尝试打开虚拟环境的python解释器并自己导入pysqlite2和sqlite3模块。我在网上发现sqlite3默认带有python,但是当我导入sqlite3时出现错误
Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.11/sqlite3/__init__.py", line 57, in <module>
from sqlite3.dbapi2 import *
File "/usr/lib/python3.11/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: /usr/lib/python3.11/lib-dynload/_sqlite3.cpython-311-x86_64-linux-gnu.so: undefined symbol: sqlite3_enable_load_extension
>>>
我只想毫无问题地打开jupyter笔记本 感谢您的帮助!
我使用 anaconda 作为包管理器,因此安装
pysqlite3
包解决了我的笔记本问题。