您的位置:首页 > 运维架构 > Linux

centos6 python 安装 sqlite 解决 No module named ‘_sqlite3′

2016-12-08 00:20 981 查看
系统red hat6.7 也即centos6.7 python3.5.2 安装 django 之后 创建project 以及 import sqlite3

都出现  No module named ‘_sqlite3′ 

>>> import sqlite3

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "/opt/Python-3.5.0/python350/lib/python3.5/sqlite3/__init__.py", line 23, in <module>

    from sqlite3.dbapi2 import *

  File "/opt/Python-3.5.0/python350/lib/python3.5/sqlite3/dbapi2.py", line 27, in <module>

    from _sqlite3 import *

解决:

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

如果这几步还不行,就修改 Python-3.5.2文件夹里的setup.py文件以后,重复第三和第四步:

在 sqlite_inc_paths 中添加sqlite的include 路径

如:

        sqlite_inc_paths = [ '/usr/include',

                             '/usr/include/sqlite',

                             '/usr/include/sqlite3',

                             '/usr/local/include',

                             '/usr/local/include/sqlite',

                             '/usr/local/include/sqlite3',

                             '~/share/software/python/sqlite-3.6.20/include',     (~/share/software/python/sqlite-3.6.20是sqlite的安装路径)

                             '~/share/software/python/sqlite-3.6.20/include/sqlite3',

                           ]

二、如果是python2.7出现 import sqlite3 找不到 _sqlite模块的问题,就简单多了

1、# find / -name _sqlite*.so

/usr/lib64/python2.6/lib-dynload/_sqlite3.so

2、# whereis python2.7

python2: /usr/bin/python2.7 /usr/bin/python2 /usr/bin/python2.6 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python2.7 /usr/local/bin/python2.7-config /usr/local/bin/python2 /usr/local/lib/python2.7 /usr/include/python2.6

3、cp /usr/lib64/python2.6/lib-dynload/_sqlite3.so /usr/local/lib/python2.7/lib-dynload/_sqlite3.so

ok,搞定!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐