0

I've compiled pysqlite 2.7.0 (2.8.1 seems to have compilation issues with Python 2.7) on Linux and Mac succesfully and was able to use fts (full text search), however using the exact same compilation steps on windows results in having pysqlite compiled but fts3 and fts4 will not work.

Compilation steps:

  1. Checked out pysqlite
  2. Extracted sqlite algamation to src
  3. Extracted sqlite3.def to src (from precompiled sqlite for windows, linux and osx don't need this)
  4. ran setup.py install, also tried variations, eg. setup.py build_ext install and setup.py build_static install
  5. Invoked python shell and ran the following:

    from pysqlite2 import dbapi2 as sqlite3
    con = sqlite3.connect(":memory:")
    con.execute("create virtual table recipe using fts3(name, ingredients)")
    

On Linux and Mac this works, on Windows it fails with no such module: fts3.

What extra step am I missing on Windows? Unfortunately pysqlite provides zero documentation for building pysqlite (or I am simply unable to find it).

Update:

I've given up on pysqlite, moved to adsw and so far I see no reason to regret that decision.

Naatan
  • 3,424
  • 4
  • 32
  • 51
  • According to the [changelog](https://github.com/ghaering/pysqlite/blob/master/CHANGES) 2.8.1 should work ([binaries](http://www.lfd.uci.edu/~gohlke/pythonlibs/#pysqlite)). – cgohlke Oct 13 '15 at 00:28
  • 2.7 should work too, the issue is not that I want to use 2.8.1 but can't. – Naatan Oct 13 '15 at 00:37
  • In hat case try to apply https://github.com/ghaering/pysqlite/commit/37ee7fd3bcc3e8c1dc0a885a4fef9c7cb5534fa3 to 2.7.0 – cgohlke Oct 13 '15 at 00:54
  • I've tried those to no avail. Also `SQLITE_ENABLE_FTS4` is not a thing, as per the sqlite documentation. It's a bit concerning that the author of pysqlite doesn't seem to have read the docs on this. – Naatan Oct 13 '15 at 03:53
  • Both 2.8.1 and 2.7.0 with patch work for me. – cgohlke Oct 13 '15 at 21:56

0 Answers0