tags:

views:

1874

answers:

4

The sqlite3 module is included in Python version 2.5+. However, I am stuck with version 2.4. I uploaded the sqlite3 module files, added the directory to sys.path, but I get the following error when I try to import it:

Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "sqlite3/__init__.py", line 23, in ?
    from dbapi2 import *
  File "sqlite3/dbapi2.py", line 26, in ?
    from _sqlite3 import *
ImportError: No module named _sqlite3

The file '_sqlite3' is in lib-dynload, but if I include this in the sqlite3 directory, I get additional errors.

Any suggestions? I am working in a limited environment; I don't have access to GCC, among other things.

+1  A: 

Did you install it? That often works better than messing with sys.path.

python setup.py install

If so, you should then find it.

If, for some reason, you can't install it, set the PYTHONPATH environment variable. Do not make a habit of messing with sys.path.

S.Lott
+1  A: 

You will need to install pysqlite. Notice, however, that this absolutely does require a compiler, unless you can find binaries for it (and Python 2.4) on the net. Using the 2.5 binaries will not be possible.

Martin v. Löwis
Since I don't have a compiler, this won't be possible. I was hoping that Python was more portable; I'll have to continue to interface with SQLite using the command line.
Tony
+5  A: 

I had same problem with CentOS and python 2.4

My solution:

yum install python-sqlite2

and try following python code

try:
    import sqlite3
except:
    from pysqlite2 import dbapi2 as sqlite3
A: 

If you have trouble installing pysqlite, see my answer at http://stackoverflow.com/questions/1448819/how-to-install-pysqlite/2805246#2805246

Adam Feldman