How to install pysqlite?

38,521

Solution 1

how to check if I have "sqlite3-dev"

That's entirely dependent on what Linux distro you're using -- is it Fedora, Suse, Ubuntu, Gentoo, Mandrake, or which other one out of the dozens out there; there are several packaging strategies and tools used to check which packages are there, get more, and so forth.

So, never ask questions about checking, getting or tweaking packages on Linux without specifying the distribution[s] of interest -- it makes it essentially impossible to offer precise, specific help.

Edit: the simplest way I know of getting details about your Linux distribution (works on all the ones I have at hand to try, but I don't have a particularly wide array...;-):

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

This is probably going to be the contents of file /etc/lsb-release, but I'm suggesting the *-release because I think there may be some other such files involved.

Of course, if the need to check your distro applies inside a file or program, reading this file (or files) and locating specific contents will also be quite feasible; but for the purpose of informing would-be helpers about what distro you're using, the cat at the shell prompt is going to be quite sufficient;-).

Solution 2

For Debian distros I fixed this problem with

sudo apt-get install libsqlite3-dev

Solution 3

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

sudo yum install sqlite-devel

Solution 4

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.

Solution 5

What version of Python do you have? SQLite is integrated in Python since 2.5:

http://docs.python.org/library/sqlite3.html

If you insist on compiling it yourself, the package is called sqlite3-devel, you can find it e.g. here

Share:
38,521
Verrtex
Author by

Verrtex

Updated on July 31, 2020

Comments

  • Verrtex
    Verrtex almost 4 years

    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.

  • Verrtex
    Verrtex over 14 years
    I do not know if my system use RPM package (I never used 'yum', probably because I never installed anything).
  • Verrtex
    Verrtex over 14 years
    I did not get. You say that on system that use RPM packages and on most Debian based systems the package name is the same (sqlite3-devel)? Anyway, even if I know the package name, how should I use it? Should I install the package? If yes, how I do it? Moreover, I do not have administrator permissions on the computer. Will it be a problem?
  • Verrtex
    Verrtex over 14 years
    If I type sys.version in Python session I get: '2.4.3 (#1, Jan 21 2009, 01:11:33) \n[GCC 4.1.2 20071124 (Red Hat 4.1.2-42)]'. Does it mean that I have version 2.4.3 and I have no chance to use SQLite with this version?
  • Verrtex
    Verrtex over 14 years
    I do not insist on compiling it myself. Actually, I do not know if I need to compile. I also do not know how to compile.
  • Verrtex
    Verrtex over 14 years
    OK. Than how can I find out my Linux distro?
  • Alex Martelli
    Alex Martelli over 14 years
    @Verrtex, edited my answer to provide advice on this new question of yours.
  • Alex Martelli
    Alex Martelli over 14 years
    @Verrtex, it IS possible to build sqlite for Python 2.4 (although installing and using a more recent version of Python also has other advantages -- don't overwrite the system-supplied version, that might break some things, but installing a newer one e.g. in /usr/local is perfectly fine).
  • Verrtex
    Verrtex over 14 years
    My system tells me: CentOS release 5.3 (Final).
  • Alex Martelli
    Alex Martelli over 14 years
    For CentOS 5.3, try e.g. the instructions here: tuxmark.blogspot.com/2009/07/build-python-26-on-centos-53.ht‌​ml which should give you Python 2.6 (incorporating sqlite and much other goodness besides). (I have no CentOS 5.3 installation to verify those instructions, but, on the surface, they seem correct).
  • Ankush Rathi
    Ankush Rathi almost 7 years
    is there something similar for windows ?
  • matthughes404
    matthughes404 over 6 years
    @AnkushRathi: There are Python and Sqlite packages for Chocolatey (Windows package manager), but I'm not sure if these will do the trick.