环境为Ubuntu16.04 Apache2.4 Python2.7.13 django 1.8

今天部署apache+django,经过各种折腾,好不容易配置完了,发现错误Apache的日志里有一项

ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3

于是打开Python 测试下能否导入sqlite3模块

>>> import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "/usr/local/lib/python2.7/sqlite3/dbapi2.py", line 28, in <module>
    from _sqlite3 import *
ImportError: No module named _sqlite3

结果是没有,我原来使用的是windows,sqlite3已经在安装包里了,但是源码安装的没有,是要依赖系统的库

我安装了如下两个:

sudo apt-get install libsqlite3-dev

sudo apt-get install sqlite3

PS(我是一直在试,找应该安装哪个,有一个就安一个,但是安完觉得可能有多余的,所以如果你也在安装的话,可以先安装第一个,然后再重新Python2.7,看make时是否提示_sqlite3 需要单独安装,如下的话还是不行,那么再装第二个)

Python build finished, but the necessary bits to build these modules were not found:
_bsddb             _sqlite3           _tkinter        
bsddb185           bz2                dbm             
dl                 gdbm               imageop         
readline           sunaudiodev                        
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

上面为编译完提示不能一起安装,需要单独安装的提示:

提示:网上的博客很多,但是各自的情况不一样,都需要自己试试

对与sqlite3这个模块的做法有两类:

1下载sqlite3模块sqlite-autoconf-3190300.tar.gz源码,

  手工配置,编译,安装,再配置python安装下的setup.py   我没行得通,还是提示无法安装_sqlite3这个提示!

2还有一种是 find / -name "_sqlite3*so" ;然后将此文件 cp到 安装目录下的 lib-dynload(一个动态库文件夹),但是我find的结果是

  _sqlite3.x86_64-linux-gnu.so 而且将其改名拷贝过去还是不能用

3 安装依赖包,系统不同,包名不同(靠谱)

centos下 是 yum install sqlite3-devel -y  #搜索到这个的情况比较多,我也是基于此说法,才判断是装一个dev包就应该可以

ubuntu 下是 sudo apt-get install libsqlite3-dev

然后重新make重新安装python吧

如下提示中没有了_sqlite3,那么就没问题了,而且可以看下bulid目录下存在了_sqlite3.so!

Python build finished, but the necessary bits to build these modules were not found:
_bsddb             _ssl               _tkinter        
bsddb185           bz2                dbm             
dl                 gdbm               imageop         
readline           sunaudiodev        zlib            
To find the necessary bits, look in setup.py in detect_modules() for the module's name.

进一步验证,安装完成后

1. 方法一:先看下lib是否已经生成_sqlite3.so文件

还是在 /home/user/usr/python/python2.7/lib/python2.7/lib-dynload 下

发现了 _sqlite3.so 文件

2. 方法二:使用python 命令

>>> import sqlite3

不报错即可!

python加载sqlite3报错:No module named _sqlite3的更多相关文章

  1. python manage.py startapp app 时候报错No module named _sqlite3

    python manage.py startapp app 报错如下: File "manage.py", line 10, in <module>    execut ...

  2. C#拖曳控件加载,bll报错问题

    C#拖曳控件加载,bll报错问题,加载时实例如化bll时加上一个判断 if (!(GetService(typeof(IDesignerHost)) != null            || Sys ...

  3. mac 上python编译报错No module named MySQLdb

    mac 上python编译报错No module named MySQLdb You installed python You did brew install mysql You did expor ...

  4. python踩坑系列之导入包时下划红线及报错“No module named”问题

    python踩坑系列之导入包时下划红线及报错“No module named”问题 使用pycharm编写Python时,自己写了一个包(commontool),在同级另一个路径下(fileshand ...

  5. scrapy 运行时报错 No module named _sqlite3

    新服务器上运行scrapy时报错 exceptions.ImportError: No module named _sqlite3 原因 由于新的环境缺少sqlite的依赖,编译python3是虽然不 ...

  6. npm加载包报错 :syscall access

    $ npm install --save-dev babel-plugin-syntax-dynamic-import npm WARN checkPermissions Missing write ...

  7. C#调用Python,报错No module named os

    C#调用Python 环境:Windows 8.1,已经安装Python2.7(C:\Python27),配置了环境变量. 已经安装VS2013,VS2017 1.安装IronPython 下载地址h ...

  8. 前端页面JS和CSS以及图片加载nginx报错:net::ERR_CONTENT_LENGTH_MISMATCH的解决与检查

    首先检查nginx权限 具体可参考地址https://www.cnblogs.com/hooly/p/9951748.html 或者百度其他方法 还有种情况,之前是可以用的,突然出现这种加载报错的情况 ...

  9. Glide加载图片报错You must not call setTag() on a view Glide is targeting

    报错信息为:You must not call setTag() on a view Glide is targeting 原因就是View使用setTag后导致Glide之前请求的标记被清除,强制转 ...

随机推荐

  1. MAC Mysql 重置密码

    使用mac电脑,当mysql登录密码忘记时,需要重置密码.步骤如下: 1. 关闭当前正在运行的mysql进程. A.进入"偏好设置",选择mysql, 再选"stop m ...

  2. java Http消息传递之POST和GET两种方法

    /** * 通过Get方法来向服务器传值和获取信息, * 这里举例假设的前提是,链接上服务器,服务器直接发送数据给本地 * * 大体的思路: * 1.首先通过URL地址来获得链接的借口 * 通过接口, ...

  3. C#总结(二)事件Event 介绍总结

    最近在总结一些基础的东西,主要是学起来很难懂,但是在日常又有可能会经常用到的东西.前面介绍了 C# 的 AutoResetEvent的使用介绍, 这次介绍事件(event). 事件(event),对于 ...

  4. [ext4] 磁盘布局 - extent tree

    传统的类Unix文件系统,比如Ext3,都是使用一个间接数据块映射表来记录每一个数据块的分配情况的.但是这种机制对于超大文件的存储是有缺陷的,特别是当对超大文件进行删除和截断操作时.映射表会对每一个数 ...

  5. 前端模块化——seaJS

    1.seaJS手记 一:Bower获取 要安装bower Npm install -g bower Bower install seajs 二:Use方法是整个项目的入口方法,通常一个项目中只调用一次 ...

  6. Activity设置全屏显示的两种方式及系统自带theme属性解析

    转载说明:原贴地址:http://blog.csdn.net/a_running_wolf/article/details/50480386 设置Activity隐藏标题栏.设置Activity全屏显 ...

  7. 【vue系列之一】使用vue脚手架工具搭建vue-webpack项目

    对于Vue.js来说,如果你想要快速开始,那么只需要在你的html中引入一个<script>标签,加上CDN的地址即可.但是,这并不算是一个完整的vue实际应用.在实际应用中,我们必须要一 ...

  8. linux服务器对外打包处理

    案例描述 服务器遇到大流量攻击的处理过程.早上接到 IDC 的电话,说我们的一个网段 IP 不停的向外发包,应该是被攻击了,具体哪个 IP不知道,让我们检查一下. 按理分析及解决办法 首先我们要先确定 ...

  9. 解决Windos7中优盘安装centos7后无法引导原系统问题

    一前言 最近学习Linux操作系统,打算在原Window7系统中装centOS7系统,使笔记本上跑双系统.将系统D盘的文件转移后,删除卷标,将U盘做成CentOS7启动盘,进行正常安装.此为前提. 但 ...

  10. C#超简单方法实现两个richtextbox控件滚动条同步滚动

    此文章属于作者原创,转载请注明,谢谢 有时候我们需要实现对照文章等,往往将文本放到两个richtextbox控件中,但是,如果我们需要同步滚动查看,来达到更好的观看效果. 当然,传统的方法重载控件或者 ...