如何安装pysqlite?

4 投票
11 回答
40147 浏览
提问于 2025-04-15 14:26

我正在尝试安装 pysqlite(Python 用于 SQLite 的接口)。我下载了包含这个软件包的文件(pysqlite-2.5.5.tar.gz)。然后我做了以下操作:

gunzip pysqlite-2.5.5.tar.gz
tar xvf pysqlite-2.5.5.tar
\cd pysqlite-2.5.5
python setup.py install

在最后一步我遇到了问题。出现了以下错误信息:

error: command 'gcc' failed with exit status 1

我发现其他人也遇到了这个问题

根据我的理解,有人遇到这个问题是因为没有安装 sqlite2。但在我的情况下,我已经安装了 sqlite3(我可以从命令行运行它)。

也许我应该在 "setup.cfg" 中更改一些路径?目前我这里是:

#define=
#include_dirs=/usr/local/include
#library_dirs=/usr/local/lib
libraries=sqlite3
define=SQLITE_OMIT_LOAD_EXTENSION

如果我输入 "which sqlite3",我得到:

/usr/bin/sqlite3

我在这里看到过一个类似的问题。答案是“你需要 sqlite3-dev”。但是,即使真是这样,我该如何检查我是否有 sqlite3-dev 呢?如果没有,我该怎么获取它呢?

有没有人可以帮我解决这个问题。

提前谢谢你们。

11 个回答

6

我通过安装sqlite-devel这个软件包解决了同样的构建错误:

sudo yum install sqlite-devel
10

对于Debian系统,我是通过下面的方式解决这个问题的:

sudo apt-get install libsqlite3-dev
3

如何检查我是否安装了 "sqlite3-dev"?

这完全取决于你使用的Linux发行版是什么——是Fedora、Suse、Ubuntu、Gentoo、Mandrake,还是其他几十种中的某一种。每种发行版都有不同的方式和工具来检查已安装的软件包、获取更多软件包等等。

所以,在Linux上询问如何检查、获取或调整软件包时,一定要说明你使用的是哪个发行版——否则就很难提供准确、具体的帮助。

补充说明:我知道的最简单的方法来获取你Linux发行版的详细信息(在我手头的所有发行版上都能用,但我手头的发行版不算多...;-):

$ cat /etc/*-release
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.2"
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
...etc, etc...

这可能是文件 /etc/lsb-release 的内容,但我建议使用 *-release,因为我觉得可能还有其他类似的文件。

当然,如果你需要在某个文件或程序中检查你的发行版,读取这个文件(或文件们)并找到特定内容也是完全可行的;不过为了让想要帮助你的人知道你使用的是哪个发行版,直接在命令行输入 cat 就足够了;-)。

撰写回答