我想在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 (最终版本)。
发布于 2009-09-25 17:20:04
在上,_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或其他登录文件。
发布于 2009-09-25 17:45:47
您有一个"slite3.py“(实际上它等同于包sqlite3/__init__.py,所以import sqlite3本身很好,但是这个模块依次尝试import _sqlite3并失败,所以它找不到_sqlite3.so。它应该位于本地Python下的python2.6/lib-dynload中,并且应该指示ld也具有从该目录加载动态库的权限(通常通过设置适当的环境变量,例如在.bashrc中)。你有lib目录吗?里面有什么?您有哪些环境变量包含字符串LD (大写),即您的shell提示符处的env|grep LD?
https://stackoverflow.com/questions/1478479
复制相似问题