You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS Sonoma 14.1.1启动Jupyter Notebook遇pysqlite2模块缺失错误求助

MacOS Sonoma 14.1.1下Jupyter Notebook启动sqlite3错误解决方法

问题场景

MacOS Sonoma 14.1.1系统,通过命令行或Anaconda启动Jupyter Notebook时触发如下错误:

/Users/mac/anaconda3/bin/jupyter_mac.command ; exit;

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
(base) MacBook-Pro-2:~ mac$ /Users/mac/anaconda3/bin/jupyter_mac.command ; exit;
Traceback (most recent call last):
  File "/Users/mac/anaconda3/lib/python3.11/site-packages/notebook/services/sessions/sessionmanager.py", line 9, in <module>
    import sqlite3
  File "/Users/mac/anaconda3/lib/python3.11/sqlite3/__init__.py", line 57, in <module>
    from sqlite3.dbapi2 import *
  File "/Users/mac/anaconda3/lib/python3.11/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: dlopen(/Users/mac/anaconda3/lib/python3.11/lib-dynload/_sqlite3.cpython-311-darwin.so, 0x0002): Symbol not found: _sqlite3_enable_load_extension
  Referenced from: <55C163F0-89FA-3BFF-8FCB-DFF6F31B1972> /Users/mac/anaconda3/lib/python3.11/lib-dynload/_sqlite3.cpython-311-darwin.so
  Expected in:     <567CDD63-191D-36E4-959B-7DE47C7AFD7A> /usr/lib/libsqlite3.dylib

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/mac/anaconda3/bin/jupyter-notebook", line 7, in <module>
    from notebook.notebookapp import main
  File "/Users/mac/anaconda3/lib/python3.11/site-packages/notebook/notebookapp.py", line 83, in <module>
    from .services.sessions.sessionmanager import SessionManager
  File "/Users/mac/anaconda3/lib/python3.11/site-packages/notebook/services/sessions/sessionmanager.py", line 12, in <module>
    from pysqlite2 import dbapi2 as sqlite3
ModuleNotFoundError: No module named 'pysqlite2'
logout

Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

错误原因

MacOS Sonoma自带的libsqlite3.dylib缺少Anaconda Python绑定所需的_sqlite3_enable_load_extension符号,导致sqlite3模块导入失败;Jupyter尝试降级使用pysqlite2替代,但该模块未安装,最终触发启动失败。

解决方法

方法一:替换Anaconda的sqlite3库为Homebrew版本

  • 安装最新版sqlite3:
    brew install sqlite3
    
  • 进入Anaconda的sqlite3动态库目录:
    cd /Users/mac/anaconda3/lib/python3.11/lib-dynload/
    
  • 备份原有库文件:
    mv _sqlite3.cpython-311-darwin.so _sqlite3.cpython-311-darwin.so.bak
    
  • 创建软链接指向Homebrew安装的sqlite3库:
    ln -s /usr/local/opt/sqlite3/lib/libsqlite3.dylib /Users/mac/anaconda3/lib/python3.11/lib-dynload/_sqlite3.cpython-311-darwin.so
    

方法二:创建新Anaconda环境重新安装Jupyter

  • 创建独立环境:
    conda create -n jupyter_env python=3.11
    
  • 激活环境:
    conda activate jupyter_env
    
  • 安装Jupyter Notebook:
    conda install jupyter notebook
    
  • 启动Jupyter:
    jupyter notebook
    

方法三:安装pysqlite2作为替代

  • 激活Anaconda base环境:
    conda activate base
    
  • 安装pysqlite2:
    pip install pysqlite2
    

内容的提问来源于stack exchange,提问作者ah bon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 20:42:49