关于 ImportError: No module named _sqlite3 报错解决方法
2017 年 1 月 24 日
今天准备用Flask部署方案(ubuntu):Virtualenv+Supervisor+Nginx 部署应用。
结果在执行python manager db init时死活报错。ImportError: No module named _sqlite3
百度下发现sqlite3在python2.7时自带的。
python3需要自己安装。
于是
1、yum -y install sqlite-devel
2、cd Python-3.5.2 (python源码安装文件解压后的文件夹)
3、./configure --enable-loadable-sqlite-extensions --prefix=/opt/Python352 (--prefix可加可不加)
4、 make && make install
安装好了。测试下python3 -c ‘import sqlite3’ 没问题。
但是在venv环境下居然还是报错。。再百度,又发现原来是我的python3安装了两个版本。刚重新编译时,安装了一个新版本。而venv引用的是老版本。
删除旧版本。
重新弄venv
virtualenv --no-site-packages venv
source venv/bin/activate
python -c 'import sqlite3'
搞定。差点就放弃,不用venv了,还好最终搞定了。
flask推荐看书Flask Web开发 基于Python的Web应用开发实战