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

Debian 11环境下安装sqlite3及Python依赖报错求助

Debian 11下Python 3.11无法导入_sqlite3模块的解决方案

问题详情

在Debian 11系统中使用Python 3.11调用sqlite3时触发以下错误:

File "/root/bot/venvBot/lib/python3.11/site-packages/tortoise/backends/sqlite/client.py", line 3, 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'

已尝试但无效的操作:

  • 安装sqlite-devel和libsqlite3-dev
  • 尝试安装pysqlite失败,pysqlite3已安装
  • 通过pip安装sqlite3时出现报错:
ERROR: Could not find a version that satisfies the requirement sqlite3 (from versions: none)
ERROR: No matching distribution found for sqlite3

解决步骤

1. 安装完整编译依赖

先确保系统安装了所有编译Python所需的sqlite及基础依赖:

sudo apt update
sudo apt install libsqlite3-dev build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

2. 重新编译Python 3.11

错误根源是手动编译的Python 3.11未正确链接系统sqlite3库,需重新编译:

  1. 下载Python 3.11源码包(若已下载可跳过):
wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
tar -xf Python-3.11.0.tgz
cd Python-3.11.0
  1. 配置编译选项,强制启用sqlite3扩展:
./configure --enable-loadable-sqlite-extensions --prefix=/usr/local
  1. 编译并安装(用altinstall避免覆盖系统默认Python):
make -j$(nproc)
sudo make altinstall

3. 验证修复效果

重启终端后运行以下命令测试:

python3.11 -c "import sqlite3; print(sqlite3.sqlite_version)"

若输出sqlite版本号,说明问题已解决。

4. 重建虚拟环境(可选)

如果原虚拟环境基于有问题的Python创建,需重新构建:

# 删除旧虚拟环境(按需操作)
rm -rf /root/bot/venvBot
# 创建新虚拟环境
python3.11 -m venv /root/bot/venvBot
# 激活环境并重装依赖
source /root/bot/venvBot/bin/activate
pip install -r requirements.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 00:55:12