无法使用Python 2.6导入SQLite

Dav*_*lin 10 python sqlite

我在Unix上运行Python 2.6,当我运行交互式提示符(SQLite应该是预装的)时,我得到:

[root@idev htdocs]# python
Python 2.6 (r26:66714, Oct 23 2008, 16:25:34)
[GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named sqlite
>>>
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

raz*_*ong 14

错误:

ImportError: No module named _sqlite3
Run Code Online (Sandbox Code Playgroud)

表示SQLite 3找不到关联的共享库.在Mac OS X上,它是_sqlite3.so,在其他Unix系统上它应该是相同的.

要解决该错误,您必须在计算机上找到_sqlite3.so库,然后检查PYTHONPATH以获取此目录位置.

要打印Python搜索路径,请在Python shell中输入以下内容:

import sys
print sys.path
Run Code Online (Sandbox Code Playgroud)

如果缺少包含您的库的目录,您可以尝试以交互方式添加它

sys.path.append('/your/dir/here')
Run Code Online (Sandbox Code Playgroud)

并尝试

import sqlite3
Run Code Online (Sandbox Code Playgroud)

再次.如果这样可行,则必须将此目录永久添加到PYTHONPATH环境变量中.

PS:如果库缺失,您应该(重新)安装模块.


gim*_*mel 10

import sqlite3
Run Code Online (Sandbox Code Playgroud)

sqlite3 - SQLite数据库的DB-API 2.0接口.

您缺少.so(共享对象) - 可能是安装步骤.在我的Linux python安装中,_sqlite3位于:

${somewhere}/lib/python2.6/lib-dynload/_sqlite3.so
Run Code Online (Sandbox Code Playgroud)


Dic*_*eed 10

Python 2.6检测sqlite3开发头的安装位置,如果不可用,将默默跳过构建_sqlite3.如果要从源代码构建,请安装sqlite3,包括开发头文件.就我而言,sudo yum install sqlite-devel在CentOS 4.7上进行了整理.然后,从源代码重建Python.