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

Ubuntu24.04下Spyder6虚拟环境报错:No module named '_sqlite3'

问题:Spyder 6虚拟环境IPython控制台启动失败(_sqlite3模块缺失)

环境与操作

  • 系统:Ubuntu 24.04
  • IDE:Spyder 6
  • 操作:将默认Python解释器切换至Python 3.11虚拟环境,并安装spyder-kernels==3.0以启用IDE内IPython控制台
  • 异常现象:虚拟环境下IPython控制台无法启动,抛出ModuleNotFoundError: No module named '_sqlite3'错误;Spyder自带的默认解释器可正常运行IPython控制台

错误日志

Traceback (most recent call last):
File "/home/katmatzidis/.virtualenvs/r‑tensorflow/lib/python3.11/site‑packages/spyder_kernels/console/__main__.py", line 24, in
start.main()
File "/home/katmatzidis/.virtualenvs/r‑tensorflow/lib/python3.11/site‑packages/spyder_kernels/console/start.py", line 151, in main
import_spydercustomize()
File "/home/katmatzidis/.virtualenvs/r‑tensorflow/lib/python3.11/site‑packages/spyder_kernels/console/start.py", line 41, in import_spydercustomize
import spydercustomize # noqa
^^^^^^^^^^^^^^^^^^^^^^
File "/home/katmatzidis/.virtualenvs/r‑tensorflow/lib/python3.11/site‑packages/spyder_kernels/customize/spydercustomize.py", line 19, in
from spyder_kernels.customize.spyderpdb import SpyderPdb
File "/home/katmatzidis/.virtualenvs/r‑tensorflow/lib/python3.11/site‑packages/spyder_kernels/customize/spyderpdb.py", line 22, in
from IPython.core.autocall import ZMQExitAutocall
File "/home/katmatzidis/.virtualenvs/r‑tensorflow/lib/python3.11/site‑packages/IPython/__init__.py", line 55, in
from .terminal.embed import embed
File "/home/katmatzidis/.virtualenvs/r‑tensorflow/lib/python3.11/site‑packages/IPython/terminal/embed.py", line 15, in
from IPython.core.interactiveshell import DummyMod, InteractiveShell
File "/home/katmatzidis/.virtualenvs/r‑tensorflow/lib/python3.11/site‑packages/IPython/core/interactiveshell.py", line 110, in
from IPython.core.history import HistoryManager
File "/home/katmatzidis/.virtualenvs/r‑tensorflow/lib/python3.11/site‑packages/IPython/core/history.py", line 10, in
import sqlite3
File "/home/katmatzidis/.pyenv/versions/3.11.10/lib/python3.11/sqlite3/__init__.py", line 57, in
from sqlite3.dbapi2 import *
File "/home/katmatzidis/.pyenv/versions/3.11.10/lib/python3.11/sqlite3/dbapi2.py", line 27, in
from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'

已尝试无效操作

  • 执行命令~/.virtualenvs/r-tensorflow/bin/pip install sqlite3和~/.virtualenvs/r-tensorflow/bin/pip install libsqlite3-dev,pip无法找到对应包
  • 发现虚拟环境内~/.virtualenvs/r-tensorflow/lib/python3.11/site-packages/jedi/third_party/django-stubs/django-stubs/db/backends/sqlite3路径下有sqlite3相关文件,但问题未解决

解决方案

原因说明

_sqlite3是Python的内置C扩展模块,无法通过pip安装,必须在编译Python时链接系统的sqlite3开发库。你使用pyenv安装Python 3.11.10时,系统缺少libsqlite3-dev依赖,导致编译出的Python未包含该模块,虚拟环境继承了这个缺陷。jedi路径下的文件是类型定义文件,不是实际可运行的模块,因此无法解决问题。

修复步骤

  1. 安装系统级sqlite3开发依赖
sudo apt update && sudo apt install libsqlite3-dev
  1. 重新编译Python 3.11.10
pyenv uninstall 3.11.10
pyenv install 3.11.10
  1. 重建虚拟环境并重新安装依赖
# 删除旧虚拟环境
rm -rf ~/.virtualenvs/r-tensorflow
# 用重新编译后的Python创建新虚拟环境
python3.11 -m venv ~/.virtualenvs/r-tensorflow
# 激活虚拟环境并安装所需包
source ~/.virtualenvs/r-tensorflow/bin/activate
pip install spyder-kernels==3.0
# 额外安装你的项目依赖(如tensorflow等)
  1. 在Spyder 6中重新配置解释器:将默认解释器切换到新创建的虚拟环境路径~/.virtualenvs/r-tensorflow/bin/python

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 15:36:04