10

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

我该如何解决这个问题?

4

8 回答 8

14

错误:

ImportError: No module named _sqlite3

表示SQLite 3 没有找到关联的共享库。在 Mac OS X 上它是 _sqlite3.so,它在其他 Unix 系统上应该是一样的。

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

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

import sys
print sys.path

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

sys.path.append('/your/dir/here')

并尝试

import sqlite3

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

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

于 2008-10-24T14:52:21.173 回答
10
import sqlite3

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

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

${somewhere}/lib/python2.6/lib-dynload/_sqlite3.so
于 2008-10-24T12:36:50.790 回答
10

Python 2.6 会检测 sqlite3 开发头文件的安装位置,如果 _sqlite3 不可用,它将静默跳过构建。如果您是从源代码构建,请安装 sqlite3,包括开发头文件。就我而言,sudo yum install sqlite-devel在 CentOS 4.7 上解决了这个问题。然后,从源代码重建 Python。

于 2009-06-02T11:35:17.983 回答
1

试试这个:

from pysqlite2 import dbapi2 as sqlite
于 2008-10-24T14:55:09.110 回答
1

在我的系统_sqlite3.so上:

'/usr/lib/python2.6/lib-dynload/_sqlite3.so'

检查目录是否在您的sys.path

>>> import sys; print(filter(lambda p: 'lib-dynload' in p, sys.path))
['/usr/lib/python2.6/lib-dynload']
于 2008-10-24T15:12:53.160 回答
0

这能解决你的问题吗?

Python 2.5.4 (r254:67916, May 31 2009, 16:56:01)
[GCC 4.3.3] 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
>>> import sqlite3
>>>
于 2009-06-05T00:44:48.680 回答
0

2.5.5。Python 2.5 的 Mac 端口现在有这个提示:

"py25-sqlite3 @2.5.4 (python, databases)
    This is a stub. sqlite3 is now built with python25"

因此升级了 python25 端口以python25 @2.5.5_0使导入再次工作。由于 sqlite3 是 python25 的依赖项之一,因此在升级 python25 时会重新构建它。因此,

$ sudo port upgrade python25

在 Mac OS X 上做的伎俩,端口集合。

于 2010-04-22T15:49:53.317 回答
0

我面临同样的问题。步骤来解决。

  1. 从 sqlite 网站下载最新的 sqlite3。sqlite-autoconf*
  2. 只需 3 个简单的步骤即可安装
    1. 。/配置
    2. 制作
    3. 进行安装
  3. 重建python make make install
于 2013-03-07T11:09:00.513 回答