如何将sqlite3模块导入Python 2.4?

7

Python 2.5+版本中包含了sqlite3模块,但是我只能使用2.4版本。我上传了sqlite3模块文件,并将其目录添加到sys.path中,但是当我尝试导入时会出现以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "sqlite3/__init__.py", line 23, in ?
    from dbapi2 import *
  File "sqlite3/dbapi2.py", line 26, in ?
    from _sqlite3 import *
ImportError: No module named _sqlite3

文件“_sqlite3”位于lib-dynload中,但如果我将其包含在sqlite3目录中,则会出现其他错误。

有什么建议吗? 我正在一个受限制的环境中工作; 我没有访问GCC等其他资源的权限。


安装 libsqlite3-dev来源:http://superuser.com/questions/122140/problem-with-installing-sqlite3-module-for-python-2-6-on-an-ubuntu-system - inakiabt
4个回答

13

我在CentOS和Python 2.4上遇到了同样的问题。

我的解决方案:

yum install python-sqlite2

尝试以下 Python 代码

try:
    import sqlite3
except:
    from pysqlite2 import dbapi2 as sqlite3

无论Linux发行版如何,人们都可以使用“easy_install pysqlite”在Python 2.4中安装sqlite(只需注意不要将系统包与Python包混合 - 即仅在虚拟环境中进行简单安装,或者如果该软件包不存在于您的Linux中)。此答案的导入序列随后也是正确的。 - jsbueno

1
你安装了吗?这通常比搞 sys.path 更有效。
python setup.py install

如果是这样,你应该可以找到它。

如果由于某种原因无法安装它,请设置PYTHONPATH环境变量。不要经常去修改sys.path


1

你需要安装 pysqlite。不过请注意,这绝对需要编译器,除非你能在网络上找到其二进制文件(和 Python 2.4)。使用 2.5 的二进制文件将不可能。


因为我没有编译器,所以这是不可能的。我曾希望Python更具可移植性;我将继续使用命令行接口与SQLite进行交互。 - Tony

-2

你必须确保 sqlite、sqlite-devel 和 python-sqlite 正确安装,然后重新编译 Python。


3
为解决这个问题,你不需要重新编译 Python 安装程序,只需重新安装 sqlite、sqlite-devel 以及 python-sqlite 即可。当然,这是前提是你的意思是“再次运行脚本”。 - CodeMouse92

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接