我在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.