我想在Python和sqlite之间建立接口。两者都安装在机器上。我有一个旧版本的Python(2.4.3)。因此,默认情况下不包含pysqlite。首先,我尝试通过安装pysqlite来解决此问题,但在该方向上没有成功。解决该问题的第二次尝试是安装新版本的Python。我没有计算机的超级用户权限。因此,我在本地安装了它。 Python的新版本是(2.6.2)。据我所知,该版本默认情况下应包含pysqlite(现在它被称为“ sqlite3”,而不是像以前一样的“ pysqlite2”)。
但是,如果我键入:
from sqlite3 import *
我得到:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/verrtex/opt/lib/python2.6/sqlite3/__init__.py", line 24, in <module>
from dbapi2 import *
File "/home/verrtex/opt/lib/python2.6/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: No module named _sqlite3
必须注意,以上错误消息与我键入“ from blablabla import *”时得到的错误消息不同:
追溯(最近一次通话):
文件“”,第1行,位于
ImportError:没有名为blablabla的模块
因此,python看到了与pysqlite相关的东西,但仍然存在一些问题。有人可以帮我解决这个问题吗?
附言
我使用CentOS 5.3版(最终版)。
最佳答案
在Windows上,_sqlite3.pyd
驻留在C:\Python26\DLLs
中。在* nix上,它应位于类似于/usr/lib/python2.6/lib-dynload/_sqlite3.so
的路径下。可能是您缺少该共享库,或者您的PYTHONPATH
设置不正确。
因为您说过您不是以超级用户身份安装的,所以它可能是格式错误的路径。您可以通过执行以下操作手动让Python搜索_sqlite3.so
的路径
import sys
sys.path.append("/path/to/my/libs")
但是首选的方法可能是更改您的
PYTHONPATH
或其他登录文件中的.bashrc
。