新电脑用Pipenv创建Django应用时遇ModuleNotFoundError: No module named '_sqlite3'
解决ModuleNotFoundError: No module named '_sqlite3'问题
问题根源
你遇到的问题是因为当前使用的Python版本在编译时未链接SQLite3的开发依赖库,导致Django在执行startapp(涉及数据库模块初始化)时找不到_sqlite3内置模块——而django-admin startproject仅生成项目结构,未触发数据库相关代码,所以能正常执行。
解决步骤
- 安装SQLite3开发依赖包(这是你之前缺失的关键步骤,仅装运行时的sqlite3不够):
sudo apt-get install libsqlite3-dev - 重新编译/安装对应版本的Python:
如果你是通过pyenv管理Python版本:
如果你是源码编译Python:# 卸载当前有问题的Python版本 pyenv uninstall <你的Python版本号> # 重新安装,编译时会自动链接libsqlite3-dev pyenv install <你的Python版本号># 进入之前的Python源码目录,重新执行编译安装 ./configure --enable-optimizations make && sudo make install - 重建Pipenv虚拟环境:
# 删除旧虚拟环境 pipenv --rm # 重新创建并安装Django pipenv install django - 再次尝试执行
python manage.py startapp <app名称>,问题应该能解决。
内容的提问来源于stack exchange,提问作者Maxwell I. John
相关产品推荐
相关产品推荐

