问题标签 [pysqlite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
705 浏览

python - 我应该如何处理软件包?

我正在尝试安装 pysqlite 并且遇到了麻烦。我发现最可能的原因是缺少 sqlite 标头,我必须安装它们。我的平台:CentOS release 5.3 (Final)。我有 Python-2.6.2。

我还发现我需要 .rpm 文件。就我拥有它们而言,我执行:

一切都应该没问题。

但是,我不知道在哪里可以找到 sqlite3-devel-3.nnnrpm 文件。它应该已经在我的系统上吗?我无法使用“locate sqlite3-devel-3”找到它。我应该下载这个文件吗?如果是,我在哪里可以找到它,我应该使用哪个版本?我的意思是,.rpm 文件可能应该与我计算机上的 sqlite 版本一致?如果是这样,我怎样才能找到我的 sqlite 的版本?

如果我输入“from pysqlite2 import dbapi2 as sqlite”,我会得到:

“yum search pysqlite”给了我以下信息:

顺便说一句,我有以下目录:/home/myname/opt/lib/python2.6/sqlite3,我有以下文件:

如果我输入“import unittest”,然后输入“import sqlite3 as sqlite”,我会得到:

先感谢您。

0 投票
2 回答
3464 浏览

python - 为什么我的 python 看不到 pysqlite?

我想在 Python 和 sqlite 之间有一个接口。两者都安装在机器上。我有一个旧版本的 Python (2.4.3)。因此,默认情况下不包含 pysqlite。首先,我尝试通过安装 pysqlite 来解决这个问题,但我没有朝这个方向成功。我解决该问题的第二次尝试是安装新版本的 Python。我没有机器上的root权限。所以,我在本地安装了它。Python的新版本是(2.6.2)。据我所知,这个版本默认应该包含 pysqlite(现在它被称为“sqlite3”,而不是像以前一样的“pysqlite2”)。

但是,如果我输入:

我得到:

需要注意的是,上面的错误消息与我输入“from blablabla import *”时得到的错误消息不同:

Traceback(最近一次调用最后一次):
文件“”,第 1 行,在 ImportError 中:没有名为 blablabla 的模块

所以,python 看到了一些与 pysqlite 相关的东西,但仍然存在一些问题。有人可以帮我解决这个问题吗?

PS 我使用 CentOS 版本 5.3 (Final)。

0 投票
2 回答
8351 浏览

python - 如何获取 _sqlite3.so 文件?

我已经安装了 Python 2.6.2。我是“本地”安装的,因为我没有 root 权限。在这个版本的 Python 中,我想使用名为“sqlite3”的模块(在早期版本中它被称为“pysqlite”)。从理论上讲,我必须能够毫无问题地使用这个模块,因为它应该默认包含在所考虑的 Python 版本中。但是,我有一些麻烦。当我输入:

我得到:

正如我已经告诉过的,这个问题的可能原因是模块尝试导入_sqlite3并失败,所以它没有找到_sqlite3.so。我的“/home/verrtex/opt/lib/python2.6/lib-dynload”目录中没有 _sqlite3.so 文件这一事实支持了这种解释。所以,这是我必须解决的问题(我必须把这个文件放到这个目录中)。

我发现要解决这个问题,我必须“安装 sqlite3 并重新编译 Python”。我还发现可以通过“从源代码构建并将库移动到/usr/lib/python2.5/lib-dynload/”来解决问题。

但是,我不清楚我到底应该做什么。我应该安装名为“sqlite3”的python模块还是应该安装sqlite-database?顺便说一句,我已经由管理员全局安装了 sqlite-database。我可以使用它还是我仍然需要安装我自己的数据库?顺便说一句,我没有root权限。会不会有问题?或者我需要安装一个python模块?在这种情况下,没有 root 权限是一个问题吗?

我还被告知要从 SQLite 下载页面获取源文件,提取存档,移动到扩展目录并执行:

然后我必须将新编译的文件复制到我的 Python 目录中。我应该复制所有新编译的文件吗?我应该复制到哪个目录(我的 Python 目录有一些子目录)?

将不胜感激任何帮助,因为我与这个问题堆叠了一段时间。

PS 我的操作系统是 CentOS release 5.3 (Final)。

0 投票
1 回答
1609 浏览

python - 如何让 Python 看到 sqlite?

_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,我得到:

0 投票
2 回答
4120 浏览

python - “sqlite”和“pysqlite2/sqlite3”模块有什么区别?

我放弃了让“sqlite3”工作,但我刚刚发现(通过帮助(“modules”))我有“sqlite”模块。我测试了它(创建表,插入一些值等等),它工作正常。但在我开始使用这个模块之前,我想知道它与 sqlite3 模块相比是否有一些明显的限制?有人可以请给我建议吗?

先感谢您。

0 投票
1 回答
1920 浏览

sqlite - 检测 SQLite3 中的 FTS3 扩展

检测是否安装了 FTS3 扩展模块的 SQLite 查询是什么?或者是否可以通过 SQLite3 查询获取已安装扩展的列表?它必须与pysqlite2一起使用。

我知道我可以使用 获得表格列表SELECT * FROM sqlite_master,我想获得类似的扩展列表。我也知道CREATE VIRTUAL TABLE v USING FTS3 (t TEXT)如果安装了 FTS3 就成功了,但我想获得一个没有副作用的查询(甚至不创建临时表)。

作为一种解决方法,我打开了":memory:"数据库,并发出了CREATE VIRTUAL TABLE上面的命令。

0 投票
2 回答
3212 浏览

python - python2.5,pysqlite和apsw的sqlite3有什么区别

我想知道 sqlite3 与 python2.5、pysqlite 和apsw之间的区别?尝试使用 python2.5 在 windows vista 上安装 pysqlite 时遇到颠簸,请参见以下内容:

  1. 从http://sqlite.org/download.html下载 sqlite并将它们解压缩到windows/system32文件夹中并将 sqlite3.dll 放入c:/python25/Lib文件夹中
  2. 下载pysqlite windows 安装程序
  3. 尝试在 python shell 中运行以下命令时:

    /li>

我想知道任何有上述三种 sqlite 绑定到 python 的经验的人都可以评论他们的优缺点,例如性能我想知道是否值得尝试 pysqlite 或 apsw

谢谢

0 投票
22 回答
144098 浏览

python - Python SQLite:数据库被锁定

我正在尝试这段代码:

我发现了这个异常:

cache.db 的权限没问题。有任何想法吗?

0 投票
6 回答
4611 浏览

python - 在 Django/sqlite 中更改 text_factory

我有一个 django 项目,它使用可以由外部工具写入的 sqlite 数据库。文本应该是 UTF-8,但在某些情况下会出现编码错误。文本来自外部来源,因此我无法控制编码。是的,我知道我可以在外部源和数据库之间编写一个“包装层”,但我不想这样做,特别是因为数据库已经包含很多“坏”数据。

sqlite 中的解决方案是将 text_factory 更改为: lambda x: unicode(x, "utf-8", "ignore")

但是,我不知道如何告诉 Django 模型驱动程序。

我得到的例外是:

'Could not decode to UTF-8 column 'Text' with text' in /var/lib/python-support/python2.5/django/db/backends/sqlite3/base.py in execute

不知何故,我需要告诉 sqlite 驱动程序不要尝试将文本解码为 UTF-8(至少不使用标准算法,但它需要使用我的故障安全变体)。

0 投票
2 回答
843 浏览

python - 我可以在 Python 的 sqlite3 模块中获取由准备好的语句生成的原始 SQL 吗?

如果是这样,我该怎么做?