Miniconda环境导入Pandas时Kernel启动失败求助
问题描述(翻译后)
Kernel启动失败。
回溯(最近的调用最后):
文件 "/Users/jacques/miniconda3/envs/data/lib/python3.10/runpy.py", 第196行, in _run_module_as_main
return _run_code(code, main_globals, None,
文件 "/Users/jacques/miniconda3/envs/data/lib/python3.10/runpy.py", 第86行, in _run_code
exec(code, run_globals)
文件 "/Users/jacques/miniconda3/envs/data/lib/python3.10/site-packages/ipykernel_launcher.py", 第15行, in
from ipykernel import kernelapp as app
文件 "/Users/jacques/miniconda3/envs/data/lib/python3.10/site-packages/ipykernel/kernelapp.py", 第19行, in
from IPython.core.application import ( # type:ignore[attr-defined]
文件 "/Users/jacques/miniconda3/envs/data/lib/python3.10/site-packages/IPython/init.py", 第54行, in
from .terminal.embed import embed
文件 "/Users/jacques/miniconda3/envs/data/lib/python3.10/site-packages/IPython/terminal/embed.py", 第15行, in
from IPython.core.interactiveshell import DummyMod, InteractiveShell
文件 "/Users/jacques/miniconda3/envs/data/lib/python3.10/site-packages/IPython/core/interactiveshell.py", 第73行, in
from IPython.core.history import HistoryManager
文件 "/Users/jacques/miniconda3/envs/data/lib/python3.10/site-packages/IPython/core/history.py", 第11行, in
import sqlite3
文件 "/Users/jacques/miniconda3/envs/data/lib/python3.10/sqlite3/init.py", 第57行, in
from sqlite3.dbapi2 import *
文件 "/Users/jacques/miniconda3/envs/data/lib/python3.10/sqlite3/dbapi2.py", 第27行, in
from _sqlite3 import *
ImportError: dlopen(/Users/jacques/miniconda3/envs/data/lib/python3.10/lib-dynload/_sqlite3.cpython-310-darwin.so, 0x0002): 未找到符号: _sqlite3_enable_load_extension
引用自: <1B6E2CAC-D818-304D-9C3C-B2E32B00D8B7> /Users/jacques/miniconda3/envs/data/lib/python3.10/lib-dynload/_sqlite3.cpython-310-darwin.so
预期在: <567CDD63-191D-36E4-959B-7DE47C7AFD7A> /usr/lib/libsqlite3.dylib.
更多信息,请查看Jupyter日志。
核心原因
错误源于Conda环境中的Python依赖的sqlite3扩展库调用了系统自带sqlite3库中不存在的函数符号,说明:
- 系统自带的sqlite3版本过低,不支持该函数
- Conda环境的sqlite3组件损坏或安装不完整
解决步骤
方案1:重新安装Conda环境内的sqlite3
打开终端,执行以下命令:
- 激活目标环境:
conda activate data - 重新安装sqlite3:
conda install sqlite - 重启VSCode,重新选择Kernel尝试运行
方案2:重建Conda环境
如果环境损坏严重,直接重建是最可靠的方式:
- 删除现有环境:
conda remove -n data --all - 创建新环境:
conda create -n data python=3.10 - 激活新环境并安装依赖:
conda activate data && conda install pandas ipykernel - 在VSCode中选择新环境的Kernel
方案3:验证VSCode Kernel选择
确保VSCode使用的是正确的Conda环境:
- 打开VSCode的命令面板(快捷键
Cmd+Shift+P) - 输入
Python: Select Interpreter - 选择
/Users/jacques/miniconda3/envs/data/bin/python对应的选项 - 重启Kernel
方案4:更新Conda环境所有包
尝试更新环境内的所有依赖,修复可能的版本冲突:
- 激活环境:
conda activate data - 更新所有包:
conda update --all - 重启VSCode测试
内容的提问来源于stack exchange,提问作者jacques

