1

_sqlite3.so由于文件丢失,我无法使用 sqlite3(构建 python 包) 。我发现人们也有同样的问题,他们在这里解决了。为了解决我的问题,我必须“安装sqlite3并重新编译 Python”。我还发现可以通过“从源构建并将库移动到/usr/lib/python2.5/lib-dynload/”来解决问题。

正如我在这里被告知的那样,我必须从源代码安装 sqlite 并将新编译的文件复制到我的 Python 目录(没有提到“重新编译 Python”)。好吧,我已经安装了 sqlite,现在我必须将一些东西复制到我的/lib-dynload/目录中。

我不确定我应该复制什么。在我的/lib-dynload/目录中,我只有 .so 文件。而且我sqlite-3.6.18没有任何*.so文件(这让我很怀疑)。_sqlite3.so我遇到了这个问题,因为我没有/lib-dynload/. 通过编译 sqlite 我得到了一些新文件(例如sqlite3.oand sqlite3.lo)但是not _sqlite3.so.

PS一些细节:
1.我使用Python 2.6.2(我在本地安装)。
2.我没有root权限。
3. 我已经通过root在机器上全局安装了sqlite。
4.我刚刚在本地安装了sqlite。
5. 我的操作系统是 CentOS release 5.3 (Final)。
6. 当我输入 Python 命令行时import sqlite3,我得到:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/loctopu/opt/lib/python2.6/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "/home/loctopu/opt/lib/python2.6/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: No module named _sqlite3
4

1 回答 1

0

我没有确切的答案,但这里很少有提示

  • 要从源代码安装 python,您不需要是 root,您可以始终安装 at /home/USERNAME/usr,例如,当您进行配置时,请喜欢./configure --prefix=/home/USERNAME/usr

  • 安装 sqlite 二进制文件并不意味着它包含了 python 扩展(相反,编译 python 时需要 sqlite dev 文件)

  • sqlite3 的正确导入用法是import sqlite3

于 2010-01-12T02:02:39.500 回答