无法使用Python 2.6导入SQLite

无法使用Python 2.6导入SQLite,python,sqlite,Python,Sqlite,我正在Unix上运行Python 2.6,当我运行交互式提示符(应该是预安装的)时,我得到: [root@idevhtdocs]#python Python 2.6(r26:6671420008年10月23日16:25:34) linux2上的[GCC 3.2.2 20030222(Red Hat Linux 3.2.2-5)] 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。 >>>导入sqlite 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 ImportError:

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

[root@idevhtdocs]#python
Python 2.6(r26:6671420008年10月23日16:25:34)
linux2上的[GCC 3.2.2 20030222(Red Hat Linux 3.2.2-5)]
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>导入sqlite
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ImportError:没有名为sqlite的模块
>>>
我如何解决这个问题

import sqlite3
-用于SQLite数据库的DB-API 2.0接口

您缺少
。因此
(共享对象)-可能是安装步骤。在我的Linux python安装中,
\u sqlite3
位于:

${somewhere}/lib/python2.6/lib-dynload/_sqlite3.so
错误:

ImportError: No module named _sqlite3
表示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:如果库丢失,您应该(重新)安装模块。

尝试以下操作:

from pysqlite2 import dbapi2 as sqlite

在我的系统上
\u 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']

Python2.6检测sqlite3开发头的安装位置,如果sqlite3不可用,它将自动跳过构建sqlite3。如果您是从源代码构建,请安装包含开发头的sqlite3。在我的例子中,
sudo-yum-install-sqlite-devel
在CentOS 4.7上解决了这个问题。然后,从源代码重建Python。

这能解决您的问题吗

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
>>>
Python 2.5.4(r254:679162009年5月31日16:56:01)
[GCC 4.3.3]关于linux2
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>导入sqlite
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ImportError:没有名为sqlite的模块
>>>导入sqlite3
>>>

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时重新构建的。 因此,

在Mac OS X、端口收集上也有同样的把戏。

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

  • 从sqlite网站下载最新的sqlite3。sqlite autoconf*
  • 通过3个简单的步骤安装
  • /配置
  • 制造
  • 安装
  • 重建python 制作 安装

  • 请澄清“从源代码重建Python”的含义。谢谢
    "py25-sqlite3 @2.5.4 (python, databases)
        This is a stub. sqlite3 is now built with python25"
    
    $ sudo port upgrade python25