[英]How to install pysqlite?
我正在尝试安装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
。 如果我没有它如何得到它?
任何人都可以帮我解决这个问题。
先感谢您。
对于Debian发行版,我修复了这个问题
sudo apt-get install libsqlite3-dev
我能够通过安装sqlite-devel包解决相同的构建错误:
sudo yum install sqlite-devel
我遇到了同样的问题,我使用的是python 2.4,没有sqlite3-dev
和libsqlite3-dev
可用于CentOS。
yum install python-devel
似乎解决了这个问题。
如何检查我是否有“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
因为我认为可能还有其他一些这样的文件。
当然,如果需要检查您的发行版适用于文件或程序,读取此文件(或文件)和查找特定内容也是非常可行的; 但是为了告知潜在的帮助者你正在使用什么发行版,shell提示下的cat
就足够了;-)。
您可以使用yum或apt-get代替第一种类型:
sudo yum(or apt-get) search python-sqlite3
你会得到类似python-sqlite3dbm.noarch的东西
然后输入:
sudo yum(or apt-get) install python-sqlite3dbm.noarch
通过这种方式,您的操作系统将为您安装所需的一切,并且您不会收到错误
你有什么版本的Python? 从2.5开始,SQLite集成在Python中:
http://docs.python.org/library/sqlite3.html
如果你坚持自己编译,那么这个包叫做sqlite3-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 install python-devel
你安装了python sqlite lib吗?
sudo apt-get install python-sqlite
我是回答另一个问题的人:)在使用RPM软件包的系统上,即通常使用'yum'来安装东西,该软件包名为sqlite3-devel。
在大多数基于Debian的系统上(即使用apt-get来安装软件包),该软件包名为sqlite3-dev。
这是两者之间非常典型的差异,大多数其他包遵循相同的命名约定。
我遇到了与Uccntu Karmic失败的gcc同样的问题。 我通过安装python-dev包修复了这个问题。 就我而言,我正在使用python2.4,所以我安装了python2.4-dev软件包。 python-dev包应该适用于python2.6。
你需要在http://yum.baseurl.org/download/yum-metadata-parser/安装插件
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.