为什么我的蟒蛇并没有看到pysqlite?(Why my python does not see p

2019-07-19 15:56发布

我想有Python和源码之间的接口。 两者都安装在机器上。 我有一个老版本的Python(2.4.3)。 所以,pysqlite不包括默认。 首先,我试图通过安装pysqlite来解决这个问题,但我并没有在这个方向上取得成功。 我要解决的问题第二次尝试安装Python的新版本。 我没有在机器上的root权限。 所以,我安装在本地。 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

它必须注意的是,上面的错误消息是从那些我得到的,如果我“从blablabla进口*”类型不同:

回溯(最近通话最后一个):
文件“”,1号线,在导入错误:没有模块名为blablabla

所以,蟒蛇看到pysqlite相关的东西,但还是有一些问题。 任何人可以帮助我,恳求,与该问题?

PS我使用CentOS版本5.3(决赛)。

Answer 1:

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或其他login文件。



Answer 2:

你有一个“slite3.py”(实际上它的等效为一个包sqlite3/__init__.py ,所以import sqlite3本身是好的,但在转弯该模块试图import _sqlite3和失败,所以它没有找到_sqlite3.so 。它应该是python2.6/lib-dynload您的Python的根目录下,和LD应指示其有权从该目录加载动态链接库以及(一般通过设置,例如在你的.bashrc相应的环境变量)。做??你有LIB-dynload目录里面有什么做什么环境变量您有包含字符串LD(大写),即env|grep LD在shell提示?



文章来源: Why my python does not see pysqlite?