2

我想在我的 centos 服务器上使用 sqlite3,但它总是报告相同的错误(已安装模块)....

Python 2.7.3 (default, Jun 29 2012, 19:03:18) 
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: No module named _sqlite3

在 ubuntu 等上工作正常....关于我在这里缺少什么的任何想法?


我再次重新编译 2.7.3,它很好地捕获了 sqlite3 库。

4

4 回答 4

16

如果你在 RHEL/centos 6 下,你可以试试这个:

cp /usr/lib64/python2.6/lib-dynload/_sqlite3.so /usr/local/lib/python2.7/sqlite3/
于 2014-02-26T03:40:43.260 回答
6

这适用于 CentOS:

ln -s /usr/lib64/python2.6/lib-dynload/_sqlite3.so /usr/local/lib/python2.7/lib-dynload/

/usr/local/lib/python2.7/已经在 python 的路径上。无需复制文件或添加 python 的路径。

于 2014-03-07T23:20:18.133 回答
2

首先找到:

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

下一个

cp /usr/local/service/python2.7/lib/python2.7/lib-dynload/_sqlite3.so /usr/local/lib/python2.7/sqlite3/

这个centso 6.5 python2.7.10

于 2015-12-23T09:10:09.300 回答
0

如果您在 Red Hat 5 或 CentOS 5 机器上使用 Python 2.7.3,那么在从源代码构建 Python 时,存在一个阻止 SQLite 模块正确编译的错误;运行时应该会看到一条错误消息make。它已在 2.7.4 中修复,因此您最好的选择是升级。

如果这是不可能的,那么有一个可用的补丁。这是错误页面和补丁

于 2014-07-07T18:07:52.173 回答