2009-09-26 10 views
1

Je ne peux pas utiliser sqlite3 (build python package), pour la raison que le fichier _sqlite3.so est manquant. J'ai trouvé que les gens avaient le même problème et ils l'ont résolu here. Pour résoudre mon problème, je dois "installer sqlite3 et recompiler Python". J'ai également découvert que le problème peut être résolu en "construisant à partir de la source et en déplaçant la bibliothèque vers /usr/lib/python2.5/lib-dynload/".Comment puis-je faire Python voir sqlite?

Comme je l'ai dit ici, je dois installer sqlite depuis la source et copier les fichiers nouvellement compilés dans mon répertoire Python (rien n'a été dit à propos de "recompiler Python"). Eh bien, j'ai installé sqlite et maintenant je dois copier quelque chose dans mon répertoire /lib-dynload/.

Je ne sais pas exactement ce que je devrais copier. Dans mon répertoire /lib-dynload/ je n'ai que des fichiers .so. Et dans mon sqlite-3.6.18 je n'ai pas de fichiers *.so (cela me rend suspect). J'ai eu ce problème puisque je n'ai pas eu _sqlite3.so fichier dans /lib-dynload/. Par la compilation de sqlite j'ai obtenu de nouveaux fichiers (par exemple sqlite3.o et sqlite3.lo) mais not _sqlite3.so.

P.S. Quelques détails:
1. J'utilise Python 2.6.2 (que j'ai installé localement).
2. Je n'ai pas d'autorisations root.
3. J'ai déjà installé sqlite globalement sur la machine par root.
4. Je viens d'installer sqlite localement.
5. Mon système d'exploitation est CentOS version 5.3 (Final).
6. Quand je tape dans la ligne de commande Python import sqlite3-je obtenir:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/loctopu/opt/lib/python2.6/sqlite3/__init__.py", line 24, in <module> 
    from dbapi2 import * 
    File "/home/loctopu/opt/lib/python2.6/sqlite3/dbapi2.py", line 27, in <module> 
    from _sqlite3 import * 
ImportError: No module named _sqlite3 
+1

Lorsque vous avez « faire » de Python, vous devriez avoir regardé la sortie au point où il parle de sqlite, et corrige toutes les erreurs signalées. –

Répondre

0

Je n'ai pas de réponse exacte, mais quelques conseils ici

  • Pour installer python de source, vous n » t besoin d'être root, vous pouvez toujours installer à /home/USERNAME/usr, par exemple lorsque vous configurez, faites comme

  • L'installation de binaires sqlite ne signifie pas son extension python incluse (en place, SQLite fichiers dev sont nécessaires lorsque vous compilez python)

  • bon usage à l'importation de sqlite3 est import sqlite3