Centos6 + python3.5 ,问题:‘ImportError: No module named '_sqlite3'’

安装好的python3.5,import sqlite3 遇到报错:‘ImportError: No module named '_sqlite3'’

尝试了网上诸多解决方法,均没有成功,这些失败的方法包括

(1)无效方法1
step1,yum install sqlite-devel

step2,进入python35安装文件夹,例如我的路径是/usr/local/src/Python3.5.3

           cd /usr/local/src/Python3.5.3

step3,重新编译安装

          ./configure

          make && make install

step4,上述行不通,找到python35安装文件,进入,vi setup.py 修改sqlite_inc_paths,.....(百度。。。)

(2)无效方法2
      yum install sqlite3-devel

      找不到该包

 (3) 无效方法3
step1,Linux命令行输入:find / -name _sqlite3.so,得到里类似/usr/lib/python2.6/lib-dynload/_sqlite3.so结果

step2,进入python环境,import sys  然后 sys.path,得到类似/usr/local/lib/python2.7/lib-dynload/

step3,复制,linux命令行输入cp /usr/lib/python2.6/lib-dynload/_sqlite3.so /usr/local/lib/python2.7/lib-dynload/

结果依然不行

--------------------------------------------------------------------------------

正确合理的做法如下:

(1)下载sqlite-autoconf-3230100.tar.gz,下载连接http://www.sqlite.org/2018/sqlite-autoconf-3230100.tar.gz

(2)tar xzf sqlite-autoconf-3230100.tar.gz

(3)我的路径是/root/sqlite-autoconf-3230100

     cd /root/sqlite-autoconf-3230100

     编译安装

     ./configure

     make && make install

(4)在liunx命令行输入sqlite3,得到如下结果:

     [root@YeMa sqlite-autoconf-3230100]# sqlite3
     SQLite version 3.23.1 2018-04-10 17:39:29
     Enter ".help" for usage hints.
     Connected to a transient in-memory database.
     Use ".open FILENAME" to reopen on a persistent database.

     sqlite> 

     说明sqlite3编译安装成功,输入.quit退出sqlite3

(5)重新编译python35,才能识别sqlite3

    找到Python35安装文件,如果忘记路安装路径,不要着急

    a,回到根目录, cd ~/

    b,find -name Python-3.5.3

    我的输出结果是:

    ./usr/local/src/Python-3.5.3

    ./usr/local/src/Python-3.5.3/build/temp.linux-x86_64-3.5/usr/local/src/Python-3.5.3

    安装路径为:/usr/local/src/Python-3.5.3

    找到安装路径后,进入

    cd /usr/local/src/Python-3.5.3

    重新编译,安装,这里特别注意,红色部分

    ./configure --prefix=/usr/local/python3.5

    make && make install

        如何确定你的红色部分应该填什么呢?

        python35安装文件位置/usr/local/src

        cd /usr/local

        例如我的结果得到:

        bin  etc  games  include  lib  lib64  libexec  python3.5  sbin  share  src

        编译安装成功后,进入python环境,输入import sqlite3,正常无报错即可

PS: 我中间倒腾的时候,修改了python3.5安装文件下setup.py,增加了红色圈中两行,没有验证是否起作用

如果以上方案行不通,试着修改setup.py
--------------------- 
作者:yemazhuxing 
来源:CSDN 
原文:https://blog.csdn.net/yemazhuxing/article/details/80462112 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(配置)