今天在将Python2.7升级至Python3.6后导入sqlite模块时出现了一下报错,到网上查询了各种文档,介绍了各种方法都不能解决,最后才发现是因为库文件的问题,特此记录,以免再犯。

方法一、

首先如果你的环境不是多个版本的Python环境,使用此方法可能能够解决你所遇到的问题,解决方法如下:

yum -y install sqlite sqlite-devel

方法二、

如果你的系统上安装了多个版本的Python,那么很可能出现这个问题的原因就是virtualenv使用的那一套python中没有_sqlite3.so这个文件,解决方法如下:

首先查看库文件的位置

find / -name _sqlite3.so
/usr/lib64/python2.7/lib-dynload/_sqlite3.so

然后查看下系统中所有Python的当前路径

whereis python
python: /usr/bin/python.bak /usr/bin/python2.7-config /usr/bin/python2.7 /usr/bin/python /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/local/bin/python3.6m /usr/local/bin/python3.6m-config /usr/local/bin/python3.6-config /usr/local/bin/python3.6 /usr/local/lib/python2.7 /usr/local/lib/python3.6 /usr/include/python2.7 /usr/share/man/man1/python.1.gz

直接将_sqlite3.so库文件拷贝至当前所用Python路径

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

进入Python,import模块名查看是否成功。

[root@bj ~]# python
Python 3.6.0 (default, Sep 20 2017, 15:50:27)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
import sqlite3

相关文章:

  • 2021-04-18
  • 2022-01-18
  • 2021-07-03
  • 2021-10-27
  • 2021-12-09
  • 2021-10-20
  • 2021-06-22
  • 2021-12-15
猜你喜欢
  • 2022-12-23
  • 2021-06-16
  • 2021-06-07
  • 2021-11-13
  • 2021-06-26
  • 2021-09-05
相关资源
相似解决方案