问题标签 [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.
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”,我会得到:
先感谢您。
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)。
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)。
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.o
and 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
,我得到:
python - “sqlite”和“pysqlite2/sqlite3”模块有什么区别?
我放弃了让“sqlite3”工作,但我刚刚发现(通过帮助(“modules”))我有“sqlite”模块。我测试了它(创建表,插入一些值等等),它工作正常。但在我开始使用这个模块之前,我想知道它与 sqlite3 模块相比是否有一些明显的限制?有人可以请给我建议吗?
先感谢您。
sqlite - 检测 SQLite3 中的 FTS3 扩展
检测是否安装了 FTS3 扩展模块的 SQLite 查询是什么?或者是否可以通过 SQLite3 查询获取已安装扩展的列表?它必须与pysqlite2一起使用。
我知道我可以使用 获得表格列表SELECT * FROM sqlite_master
,我想获得类似的扩展列表。我也知道CREATE VIRTUAL TABLE v USING FTS3 (t TEXT)
如果安装了 FTS3 就成功了,但我想获得一个没有副作用的查询(甚至不创建临时表)。
作为一种解决方法,我打开了":memory:"
数据库,并发出了CREATE VIRTUAL TABLE
上面的命令。
python - python2.5,pysqlite和apsw的sqlite3有什么区别
我想知道 sqlite3 与 python2.5、pysqlite 和apsw之间的区别?尝试使用 python2.5 在 windows vista 上安装 pysqlite 时遇到颠簸,请参见以下内容:
- 从http://sqlite.org/download.html下载 sqlite并将它们解压缩到
windows/system32
文件夹中并将 sqlite3.dll 放入c:/python25/Lib
文件夹中 - 下载pysqlite windows 安装程序
尝试在 python shell 中运行以下命令时:
/li>
我想知道任何有上述三种 sqlite 绑定到 python 的经验的人都可以评论他们的优缺点,例如性能我想知道是否值得尝试 pysqlite 或 apsw
谢谢
python - Python SQLite:数据库被锁定
我正在尝试这段代码:
我发现了这个异常:
cache.db 的权限没问题。有任何想法吗?
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(至少不使用标准算法,但它需要使用我的故障安全变体)。