2015-05-05 4 views
2

Я работаю над приложением блога примера peewee с использованием флеш-фрейма python. (См. https://github.com/coleifer/peewee, внутри примеров> блог).Использование SQLite FTS3/4 с Python 3

Я установил все требования, но когда я пытаюсь запустить приложение я получаю

no such module : FTS4 

ошибки.

Почему, по-вашему, я получаю эту ошибку? Означает ли это, что стандартный модуль Python3 sqlite3 не имеет модулей FTS?

Если есть способ включить (установить) модули FTS3/FTS4 для Python 3.4?

ответ

2

Вы можете открыть оболочку sqlite и запустить pragma compile_options, чтобы узнать, что делает ваш SQLite. AFAIK это не имеет ничего общего с Python3.

Вот мои:

sqlite> pragma compile_options; 
ENABLE_COLUMN_METADATA 
ENABLE_FTS3 
ENABLE_RTREE 
ENABLE_UNLOCK_NOTIFY 
SECURE_DELETE 
SYSTEM_MALLOC 
THREADSAFE=1 

Вы, возможно, потребуется перекомпилировать SQLite, если вы обнаружили, что не имеют расширение FTS. Также ознакомьтесь с документами:

http://sqlite.org/fts3.html

+0

Спасибо за ваш ответ. Я загрузил sqlite3 shell.exe и проверил параметры. У меня есть ** FTS3 Enabled. ** Я просто не понимаю, в чем проблема. –

+0

sqlite, который вы запускаете в оболочке, не совпадает с sqlite, который вы найдете в Python; Python содержит свою собственную DLL, которая по умолчанию не включает fts3 или fts4 в Windows, по крайней мере, с Python 2.7.11. –

+0

Я не думаю, что ты прав. Python динамически связан с библиотекой SQLite, которую вы установили. – coleifer

Смежные вопросы