how to get full-text search of pysqlite3 work in python2.5.2
Guilherme Polo
ggpolo at gmail.com
Thu Oct 30 10:51:27 EDT 2008
On 10/30/08, hawk <gaohawk at gmail.com> wrote:
> On Oct 30, 8:21 pm, "Guilherme Polo" <ggp... at gmail.com> wrote:
>
> > On 10/30/08, hawk <gaoh... at gmail.com> wrote:
> >
> >
> >
> > > Hi,
> > > my environment is debian, python 2.5.2.
> > > when i call con.enable_load_extension(True), the following message
> > > prompt out.
> > > debian:~# python2.5
> > > Python 2.5 (release25-maint, Jul 20 2008, 20:47:25)
> > > [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
> > > Type "help", "copyright", "credits" or "license" for more information.
> > > >>> import sqlite3
> > > >>> con = sqlite3.connect(":memory:")
> > > >>> con.enable_load_extension(True)
> > > Traceback (most recent call last):
> > > File "<stdin>", line 1, in <module>
> > > AttributeError: 'sqlite3.Connection' object has no attribute
> > > 'enable_load_extension'
> >
>
> > enable_load_extension was added in pysqlite 2.5, but python 2.5.2
> > includes an older version of pysqlite.
> >
>
> > > Thanks
> > > Hawk
> >
> > > --
> > > http://mail.python.org/mailman/listinfo/python-list
> >
>
> > --
> > -- Guilherme H. Polo Goncalves
>
> i have solved this problem by install from latest source package. but,
> another issue raised, when i called con.execute("select
> load_extension('./fts3.so')") and con.execute("CREATE VIRTUAL TABLE
> posts using FTS3(title, body);"). the error message is,
>
> >>> from pysqlite2 import dbapi2 as sqlite3
>
> >>> con = sqlite3.connect(":memory:")
> >>> con.enable_load_extension(True)
>
> >>> con.execute("select load_extension('./fts3.so')")
>
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
>
> pysqlite2.dbapi2.OperationalError: extension loading is disabled
>
> i checked whole file system for fts.so. but there is no fts3.so
> anymore. then i downloaded the full source code of latest sqlite, and
> compiled it. but also, no fts2.so exists under build folder. finally,
> i downloaded sqlite-amalgamation-3_6_4.zip and compiled it with
> CFLAGS="-DSQLITE_ENABLE_FTS3=1" option. the whole command line is
> "CFLAGS="-DSQLITE_ENABLE_FTS3=1" ./configure". unfortunately, the
> fts3.so cannot be found too.
If you already compiled sqlite with SQLITE_ENABLE_FTS3 then you don't
need to load a fts3 extension, sqlite is already compiled with it.
Just skip the enable_load_extension and start at con.execute("CREATE
VIRTUAL TABLE posts using FTS3(title, body);").
> how can i get the fts2.so!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
--
-- Guilherme H. Polo Goncalves
More information about the Python-list
mailing list