我试图安装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
如果我键入“这SQLITE3”我得到:
/usr/bin/sqlite3
我在这里看到了类似的问题。 答案是:“你需要的sqlite3-dev的”。 但是,即使是这样,如何检查,如果我有sqlite3-dev
。 如果我没有它怎么走呢?
任何人的请求可以帮我这个问题。
先感谢您。
Answer 1:
如何检查,如果我有“的sqlite3-dev的”
这完全取决于你所使用的Linux发行版 - 它的Fedora,SUSE的Ubuntu,Gentoo,以及Mandrake的,或者是其他一个出了几十个在那里的; 有用于检查哪些软件包都在那里,得到更多的,等等一些包装策略和工具。
所以,永远不要问有关检查,获取或不指定利益分配[S]在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
在shell提示符将是相当足够;-)。
Answer 2:
对于Debian的发行版我解决了这个问题,
sudo apt-get install libsqlite3-dev
Answer 3:
我能够通过安装的sqlite-devel包来解决同样的生成错误:
sudo yum install sqlite-devel
Answer 4:
我有同样的问题,我使用的是Python 2.4,既不sqlite3-dev
,也不libsqlite3-dev
可供CentOS的。
yum install python-devel
似乎解决了问题。
Answer 5:
你有什么版本的Python? 因为2.5 SQLite是集成在Python:
http://docs.python.org/library/sqlite3.html
如果你坚持自己编译它,包被称为sqlite3的-devel的,你可以找到它如这里
Answer 6:
你可以用yum或apt-get的,而不是第一类:
sudo yum(or apt-get) search python-sqlite3
你会得到像蟒蛇,sqlite3dbm.noarch
然后键入:
sudo yum(or apt-get) install python-sqlite3dbm.noarch
这样,你的操作系统将安装所有你需要你,你不会得到错误
Answer 7:
我下面的编译在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的帮助我太:
百胜安装python-devel的
Answer 8:
我是谁回答了另一个问题:)关于使用RPM软件包系统的一个,即通常使用“百胜安装的东西,包名为sqlite3的-devel的。
在大多数基于Debian的系统(即您使用apt-get安装包),包被命名的sqlite3-dev的。
这是两者之间的一个非常典型的区别,其他大部分包遵循相同的命名约定。
Answer 9:
我与海湾合作委员会与Ubuntu的业报没有同样的麻烦。 我通过安装的python-dev软件包解决了这个问题。 就我而言,我的python2.4与工作,所以我安装了的python2.4-dev软件包。 蟒蛇-dev软件包应该适用于python2.6的。
Answer 10:
你有没有安装python sqlite的LIB?
sudo apt-get install python-sqlite
Answer 11:
您需要安装插件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
文章来源: How to install pysqlite?