带有sqlite3模块的Centos上的python 2.7.3问题

时间:2012-07-09 11:19:06

标签: python sqlite python-2.7 centos

我想在我的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 个答案:

答案 0 :(得分:16)

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

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

答案 1 :(得分: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的路径。

答案 2 :(得分: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/

这个里奥6.5 python2.7.10

答案 3 :(得分:0)

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

如果不可能,那么就有可用的补丁。这是bug page and the patch