How to install pysqlite?

2019-02-24 17:44发布

I am trying to install pysqlite (Python interface to the SQLite). I downloaded the file with the package (pysqlite-2.5.5.tar.gz). And I did the following:

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

At the last step I have a problem. I get the following error message:

error: command 'gcc' failed with exit status 1

I found that other peoples also had this problem.

As far as I understood in the person had a problem because sqlite2 was not installed. But in my case, I have sqlite3 (I can run it from command line).

May be I should change some paths in "setup.cfg"? At the moment I have there:

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

And if I type "which sqlite3" I get:

/usr/bin/sqlite3

I saw a similar question here. The answer was "you need sqlite3-dev". But, even if it is the case, how to check if I have sqlite3-dev. And if I do not have it how to get it?

Can anybody pleas help me with that problem.

Thank you in advance.

11条回答
手持菜刀,她持情操
2楼-- · 2019-02-24 18:41

I was able to resolve the same build error by installing the sqlite-devel package:

sudo yum install sqlite-devel
查看更多
放荡不羁爱自由
3楼-- · 2019-02-24 18:43

I had the same problem, I'm using python 2.4, neither sqlite3-dev nor libsqlite3-dev are available for CentOS.

yum install python-devel

seems to solve the issue.

查看更多
手持菜刀,她持情操
4楼-- · 2019-02-24 18:43

You could use yum or apt-get instead first type :

    sudo yum(or apt-get) search python-sqlite3

you will get something like python-sqlite3dbm.noarch

then type :

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

this way your os will install all you need for you and you wont get errors

查看更多
放荡不羁爱自由
5楼-- · 2019-02-24 18:44

I had following compile errors on CentOS release 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'

Installing python-devel helped me too:

yum install python-devel

查看更多
淡お忘
6楼-- · 2019-02-24 18:45

For Debian distros I fixed this problem with

sudo apt-get install libsqlite3-dev
查看更多
登录 后发表回答