Aucun module nommé _sqlite3
Je suis en train de lancer un Django application sur mon VPS de course Debian 5. Quand je lance une démo app, il revient avec cette erreur:
File "/usr/local/lib/python2.5/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/usr/local/lib/python2.5/site-packages/django/db/backends/sqlite3/base.py", line 30, in <module>
raise ImproperlyConfigured, "Error loading %s: %s" % (module, exc)
ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3
Regardant le Python installer, il donne le même message d'erreur:
Python 2.5.2 (r252:60911, May 12 2009, 07:46:31)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.5/sqlite3/__init__.py", line 24, in <module>
from dbapi2 import *
File "/usr/local/lib/python2.5/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: No module named _sqlite3
>>>
De lecture sur le web, j'apprends que Python 2.5 devrait venir avec tout le nécessaire SQLite wrappers inclus. Dois-je réinstaller Python, ou est-il un autre moyen d'obtenir ce module et de l'exécution?
- Même problème pour python compilé 3.5.5 à partir de la source
Vous devez vous connecter pour publier un commentaire.
Il semble que votre makefile n'a pas d'inclure les
.so
fichier. Vous pouvez corriger ce problème avec les étapes ci-dessous:sqlite-devel
(oulibsqlite3-dev
sur certains systèmes basés sur Debian)./configure --enable-loadable-sqlite-extensions && make && sudo make install
Note
La
sudo make install
partie jeu de version de python à l'échelle du système standard, ce qui peut avoir des conséquences imprévues. Si vous exécutez cette commande sur votre poste de travail, vous aurez probablement envie de l'avoir installé aux côtés de l'existant python, ce qui peut être fait avecsudo make altinstall
.sqlite-devel
? Je suis sur un personnalisé du système linux.Je viens de téléchargersqlite-autoconf-3100200.tar.gz
et exécuter./configure
,make && make install
. Après j'ai recompiler python3 ça ne marche toujours pas../configure --enable-loadable-sqlite-extensions && make && sudo make install
Travaillé!pyenv
et après l'installation delibsqlite3-dev
, j'ai dû ré-installer votre version de python avecpyenv install <python-version>
.J'ai eu le même problème (bâtiment
python2.5
à partir de la source sur Ubuntu Lucid), etimport sqlite3
jeté cette même exception. J'ai installélibsqlite3-dev
à partir du gestionnaire de paquets, recompilé python2.5, et puis les importer travaillé.C'est ce que j'ai fait pour le faire fonctionner.
Je suis en utilisant pythonbrew(qui est à l'aide de pip) avec python 2.7.5 installé.
J'ai d'abord fait ce que Zubair(ci-dessus), a déclaré et de l'exécution de cette commande:
Puis j'ai exécuté cette commande:
Cela a réglé le problème de base de données et j'ai eu confirmation de cela quand j'ai couru:
yum install sqlite-devel
au lieu de la première ligne.pysqlite
est maintenantsqlite3
en Python 3, et vous ne pouvez paspip -m install
que.pysqlite is not supported on Python 3. When using Python 3, use the sqlite3 module from the standard library
J'ai eu le même problème avec Python 3.5 sur Ubuntu tout en utilisant pyenv.
Si vous installez le python à l'aide de pyenv, il est répertorié comme l'un des commune des problèmes de génération. Pour résoudre ce problème, supprimez le logiciel version de python, installer les exigences (pour ce cas particulier
libsqlite3-dev
), puis réinstaller la version de python.Installer le
sqlite-devel
package:yum install sqlite-devel -y
Recompiler python à partir de la source:
Mon _sqlite3.il est dans /usr/lib/python2.5/lib-dynload/_sqlite3.donc. À en juger par vos chemins d'accès, vous devriez avoir le fichier /usr/local/lib/python2.5/lib-dynload/_sqlite3.donc.
Essayez ce qui suit:
Si le fichier n'est pas trouvé, quelque chose peut-être tort avec votre installation de Python. Si elle est, assurez-vous que le chemin d'accès il est installé à l'est dans le Python path. Dans le Python, shell,
Dans mon cas, /usr/lib/python2.5/lib-dynload est dans la liste, il est donc en mesure de trouver /usr/lib/python2.5/lib-dynload/_sqlite3.donc.
J'ai récemment essayé d'installer python 2.6.7 sur mon Ubuntu 11.04 bureau pour certains travaux de développement. Suis tombé sur des problèmes similaires à ce fil. Je mamaged à fixer par:
Réglage de la setup.py le fichier de la bonne sqlite dev chemin. Le fragment de Code dans setup.py:
Avec le peu que j'ai ajouté en cours de '/usr/lib/x86_64-linux-gnu/'.
Après l'exécution de make je n'ai pas tous les avertissements disant que le support de sqlite n'a pas été construit (c'est à dire, il construit correctement 😛 ), mais après l'exécution de
make install
, sqlite3 n'a toujours pas d'importer la même "ImportError: No module named _sqlite3" whe running "import sqlite3
".Ainsi, la bibliothèque a été compilé, mais pas déplacés vers le bon chemin d'installation, j'ai donc copié le
.so
fichier (cp /usr/src/python/Python-2.6.7/build/lib.linux-x86_64-2.6/_sqlite3.so /usr/local/python-2.6.7/lib/python2.6/sqlite3/
— ce sont mes chemins de génération, vous aurez probablement besoin de les adapter à votre configuration).Le tour est joué! SQLite3 en charge des travaux.
J'ai trouvé beaucoup de gens répondent à ce problème parce que la version Multi-Python,
sur mon vps (cent os 7 x64), je l'ai résolu de cette façon:
Trouver le fichier "_sqlite3.donc"
out:
/usr/lib64/python2.7/lib-dynload/_sqlite3.so
Trouver la dir de python à la bibliothèque Standard que vous souhaitez utiliser,
pour moi
/usr/local/lib/python3.6/lib-dynload
Copier le fichier:
Enfin, tout sera ok.
Cela a fonctionné pour moi dans Redhat, Centos 6.5:
J'ai le problème sous FreeBSD 8.1:
Il est résolu par le stand du port ----------
après cela on peut voir:
La vérification de votre settings.py fichier.
N'avez-vous pas juste écrire "sqlite" au lieu de "sqlite3" pour le moteur de base de données?
sqlite3
livré avec Python. J'ai également eu le même problème, j'ai juste désinstallépython3.6
et installé à nouveau.Désinstaller existant python:
Installer python3.6:
Est le python-pysqlite2 paquet installé?
vous devez être dans centos ou redhat et compiler python-vous,
il est python bug
le faire dans votre code source python dir et, ci-dessous
J'ai eu le même problème, rien n'a fonctionné pour moi à partir du dessus de sna
mais maintenant, je l'ai fixée par
juste enlever
python.pip
etsqlite3
et réinstallersudo apt-get remove python.pip
sudo apt-get remove sqlite3
maintenant l'installer à nouveau
sudo apt-get install python.pip
sudo apt-get install sqlite3
dans mon cas, lors de l'installation de
sqlite3
encore, il a montré une certaine erreurensuite j'ai tapé
sqlite3
sur terminal pour vérifier si il a été supprimé ou non, et il a commencé le déballage
une fois le
sqlite3
est installéfireup terminal et écrire
sqlite3
database.db
(pour créer une base de données)Je suis sûr que ce sera certainement vous aider à
Télécharger sqlite3:
Suivez ces étapes pour installer:
Essayez de copier
_sqlite3.so
de sorte que Python peut le trouver.Il devrait être aussi simple que:
Confiance en moi, l'essayer.
Vous devez installer pysqlite dans votre environnement python: