2010-09-29 10 views
12

FTS3/FTS4 ne fonctionne pas en python par défaut (jusqu'à 2.7). Je reçois l'erreur: Comment configurer FTS3/FTS4 avec python2.7 sous Windows

sqlite3.OperationalError: no such module: fts3
ou

sqlite3.OperationalError: no such module: fts4

Comment cela peut-il être résolu?

+0

J'ai trouvé ceci sur google et votre suggestion de remplacer sqlite.dll dans le dossier python/dll a fonctionné dans mon cas. J'ajoute une réponse à cette question au cas où quelqu'un d'autre trouverait ce problème. – MrValdez

Répondre

15
  1. Télécharger la dernière sql dll.

  2. Remplacez sqlite.dll dans votre dossier python/dll.

+0

merci, beaucoup plus simple. – Naveen

+0

Merci, cela fonctionne également pour FTS4: D – styfle

+0

@styfle, si cette réponse fonctionne également pour FTS4, pouvez-vous éditer la question pour refléter cela? Ce sera utile pour les futures personnes. Merci. – MrValdez

2

à ne jamais oublier.
l'installation de pysqlite à partir de la source était facile et suffisante.

python setup.py build_static install
fts3 est activé par défaut lors de l'installation à partir de la source.

0

Qu'est-ce que Naveen dit, mais =>

Pour les installations Windows:

Lors de l'exécution setup.py pour des installations de paquets ... Python 2.7 recherche un Visual Studio 2008. installé Vous pouvez tromper Python pour utiliser Visual Studio en définissant

SET VS90COMNTOOLS=%VS100COMNTOOLS%

avant d'appeler le fichier setup.py.

0

Ma réponse n'est pas liée à Python 2.7. Mais espérons que cela devienne utile pour les utilisateurs de Python 3.5. J'utilisais la fonction de recherche sqlite Fulltext. Cependant, quand je tentais à insérer dans une table virtuelle FTS3

def insertdata(conn, parmvlu): 

    sql = ''' INSERT INTO slangs(slang,polarity) 
       VALUES(?,?) ''' 
    cur = conn.cursor() 
    cur.execute(sql, parmvlu) 
    return cur.lastrowid 

Je recevais une erreur -

sqlite3.OperationalError: no such module: fts3 

De même erreur a été pour venir FTS4 tables virtuelles. Prenant note de la site , j'ai téléchargé et copié les binaires précompilés sqlite pour Windows de here dans mon répertoire DLL Python (j'ai sauvegardé l'original sqlite.dll). Mon application Python a bien fonctionné.