Python 如何安装pysqlite?

Python 如何安装pysqlite?,python,linux,sqlite,gcc,pysqlite,Python,Linux,Sqlite,Gcc,Pysqlite,我正在尝试安装pysqlite(SQLite的Python接口)。我下载了该文件及其包(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

我正在尝试安装pysqlite(SQLite的Python接口)。我下载了该文件及其包(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”,我会得到:

我在这里看到了一个类似的问题。答案是“您需要sqlite3开发”。但是,即使是这样,如何检查我是否有
sqlite3dev
。如果我没有它怎么得到它

有人能帮我解决那个问题吗


先谢谢你

你们有什么版本的Python?SQLite从2.5开始集成到Python中:


如果您坚持自己编译它,该包名为sqlite3-devel,您可以找到它,例如回答另一个问题的人是我:)在使用RPM包的系统上,即您通常使用“yum”来安装东西,该包名为sqlite3-devel

在大多数基于Debian的系统上(即使用apt get安装软件包),该软件包名为sqlite3-dev

这是两者之间的一个非常典型的区别,大多数其他包遵循相同的命名约定

如何检查我是否有“sqlite3开发”

这完全取决于您使用的Linux发行版——是Fedora、Suse、Ubuntu、Gentoo、Mandrake还是其他发行版中的哪一个;有几种打包策略和工具用于检查哪些包在那里,获取更多,等等

因此,在没有指定感兴趣的发行版的情况下,永远不要问关于在Linux上检查、获取或调整软件包的问题——这使得提供精确、具体的帮助基本上是不可能的

编辑:我所知道的获取Linux发行版详细信息的最简单方法(适用于我手头要尝试的所有发行版,但我没有特别广泛的阵列…;-):

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


当然,如果需要在文件或程序中检查您的发行版,那么读取此文件(或多个文件)并查找特定内容也是非常可行的;但是为了告知潜在的帮助者您正在使用的发行版,shell提示符下的
cat
就足够了;-)

我也有同样的问题,gcc在Ubuntu Karmic上失败了。我通过安装python开发包修复了这个问题。在我的例子中,我正在使用python2.4,所以我安装了python2.4-dev包。python开发包应该适用于python2.6。

我也有同样的问题,我使用的是python2.4,CentOS既没有
sqlite3开发版
也没有
libsqlite3开发版

yum install python-devel

似乎解决了这个问题。

我在CentOS 5.6版上有以下编译错误:

src/cache.h:34: error: expected specifier-qualifier-list before 'PyObject_HEAD'
src/cache.h:44: error: expected specifier-qualifier-list before 'PyObject_HEAD'
src/cache.h:61: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'pysqlite_NodeType'
src/cache.h:62: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'pysqlite_CacheType'
src/cache.h:64: error: expected declaration specifiers or '...' before 'PyObject'
src/cache.h:64: error: expected declaration specifiers or '...' before 'PyObject'
src/cache.h:67: error: expected declaration specifiers or '...' before 'PyObject'
src/cache.h:67: error: expected declaration specifiers or '...' before 'PyObject'
安装python-devel对我也有帮助:


yum安装python-devel

您可以使用yum或apt-get来代替 第一类:

    sudo yum(or apt-get) search python-sqlite3
您将获得类似python-sqlite3dbm.noarch的内容

然后键入:

    sudo yum(or apt-get) install python-sqlite3dbm.noarch

这样,您的操作系统将安装您所需的所有内容,并且不会出现错误

您是否安装了python sqlite库

sudo apt-get install python-sqlite

通过安装sqlite-devel包,我能够解决相同的生成错误:

sudo yum install sqlite-devel

对于Debian发行版,我用

sudo apt-get install libsqlite3-dev

您需要安装插件

然后安装它

tar zxf yum-metadata-parser-1.1.4.tar.gz && cd yum-metadata-parser-1.1.4
/path/to/python setup.py install

如果我在Python会话中键入sys.version,我会得到:“2.4.3(2009年1月21日01:11:33)\n[GCC 4.1.2 20071124(Red Hat 4.1.2-42)]”。这是否意味着我有版本2.4.3,并且我没有机会在这个版本中使用SQLite?我并不坚持自己编译它。实际上,我不知道我是否需要编译。我也不知道如何编译。我不知道我的系统是否使用RPM软件包(我从未使用过“yum”,可能是因为我从未安装过任何东西)。tinkertim,我没有得到。您说在使用RPM软件包的系统和大多数基于Debian的系统上,软件包名称是相同的(sqlite3-devel)?无论如何,即使我知道包名,我应该如何使用它?我应该安装软件包吗?如果是,我怎么做?此外,我没有计算机的管理员权限。这会是个问题吗?我不知道我的系统是否使用RPM软件包(我从未使用过“yum”,可能是因为我从未安装过任何东西)。我没有得到。您说在使用RPM软件包的系统和大多数基于Debian的系统上,软件包名称是相同的(sqlite3-devel)?无论如何,即使我知道包名,我应该如何使用它?我应该安装软件包吗?如果是,我怎么做?此外,我没有计算机的管理员权限。这会有问题吗?如果我在Python会话中键入sys.version,我会得到:“2.4.3(2009年1月21日01:11:33)\n[GCC 4.1.2 20071124(Red Hat 4.1.2-42)]”。这是否意味着我有版本2.4.3,并且我没有机会在这个版本中使用SQLite?我并不坚持自己编译它。实际上,我不知道我是否需要编译。我也不知道如何编译。@Verrtex,可以为Python 2.4构建sqlite(尽管安装和使用较新版本的Python还有其他优点——不覆盖系统提供的版本,这可能会破坏某些功能,但安装较新的版本(如/usr/local)是完全可以的)。好的。那么,我如何才能找到我的Linux发行版呢?@Verrtex编辑了我的答案,为你的这个新问题提供了建议。我的系统告诉我:CentOS 5.3版(最终版)。对于CentOS 5.3,请尝试下面的说明:它应该为你提供Python 2.6(包括sqlite和其他许多优点)。(我没有CentOS 5.3安装到版本
sudo apt-get install libsqlite3-dev
wget -c "http://yum.baseurl.org/download/yum-metadata-parser/yum-metadata-parser-1.1.4.tar.gz"
tar zxf yum-metadata-parser-1.1.4.tar.gz && cd yum-metadata-parser-1.1.4
/path/to/python setup.py install