import pysqlite2 or import sqlite3?

Mike MacDonald crazymykl at gmail.com
Thu Nov 22 06:32:58 EST 2007


On Nov 21, 3:02 pm, Hertha Steck <nulla.epist... at web.de> wrote:
> Hello,
>
> I'm using Python 2.5.1, Pysqlite 2.3.5 and SQLite 3.4.1 on Gentoo Linux.
> I've always imported pysqlite using
>
> from pysqlite2 import dbapi2
>
> and that works. If I try
>
> import sqlite3
>
> I get
>
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/usr/lib/python2.5/sqlite3/__init__.py", line 24, in <module>
>     from dbapi2 import *
>   File "/usr/lib/python2.5/sqlite3/dbapi2.py", line 27, in <module>
>     from _sqlite3 import *
> ImportError: No module named _sqlite3
>
> And I thought that's normal, there is no Python module called sqlite3.
>
> Then, after a discussion in the Gentoo forum, I saw this in the Python
> library reference:
>
> > To use the module, you must first create a Connection object that
>
> represents the database. Here the data will be stored in the /tmp/example
> file:
>
>
>
> > conn = sqlite3.connect('/tmp/example')
>
> No import statement, though, so the module might have been renamed in that
> statement. Possibly not a really good idea in the documentation.
>
> But now I see an old post to c.p.l:
>
> > I'm using Ubuntu Feisty:
> >  * Python 2.5.1 (r251:54863, May  2 2007, 16:56:35)
> >          [GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
> >  * SQLite version 3.3.13
>
> > Suppose I run the following program:
> >  import sqlite3
>
> > conn = sqlite3.connect('example')
>
> ...
>
> And from the rest of the posting that import seems to work. Has that module
> different names for different Linux distributions? Or what's the matter
> here?

Make sure you built python with the "sqlite" USE flag.



More information about the Python-list mailing list