ModuleNotFoundError: No module named '_sqlite3'
出现 `ModuleNotFoundError: No module named '_sqlite3'` 错误,说明你的 Python 环境缺少 SQLite 模块。通常,这是因为 Python 在构建时没有启用 SQLite 支持。
以下是解决此问题的步骤:
如果通过包管理器安装 Python
1. 安装 SQLite 开发库:
如果你使用的是包管理器(如 Ubuntu 上的 `apt` 或 Fedora 上的 `dnf`),你可能需要安装 SQLite 的开发库,然后重新安装 Python。
Ubuntu/Debian:
sudo apt-get update sudo apt-get install libsqlite3-dev
Fedora:
sudo dnf install sqlite-devel
2. 重新安装 Python:
安装完必要的库后,使用包管理器重新安装 Python,或者从源码重新编译安装。
如果从源码编译安装 Python
1. 确保安装 SQLite 开发库:
在编译 Python 之前,确保已经安装了 SQLite 的开发库(如上所示)。
2. 重新编译 Python:
如果你是从源码编译的 Python,安装 SQLite 开发库后,需要重新编译。进入 Python 源码目录并运行:
./configure make sudo make install
如果使用 pyenv 安装 Python
1. 安装 SQLite 开发库:
确保已经安装了 SQLite 的开发库(如上所示)。
2. 使用 pyenv 重新安装 Python:
使用 pyenv 重新安装所需的 Python 版本:
pyenv install
将 `
验证安装
按照上述步骤操作后,验证 `_sqlite3` 模块是否可用:
python -c "import sqlite3; print(sqlite3.sqlite_version)"
这应该会打印出 SQLite 的版本号,确认模块已正确安装。