J'essaie d'exécuter une application Django sur mon VPS exécutant Debian 5. Lorsque j'exécute une application de démonstration, elle 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
En regardant l'installation de Python, cela donne la même 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
>>>
En lisant sur le Web, j'apprends que Python 2.5 devrait être livré avec tous les wrappers SQLite nécessaires inclus. Dois-je réinstaller Python ou existe-t-il un autre moyen de faire fonctionner ce module?
python
sqlite
debian
python-import
Alexander van Dijk
la source
la source
Réponses:
Il semble que votre makefile n'incluait pas le
.so
fichier approprié . Vous pouvez corriger ce problème en suivant 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
Remarque
La
sudo make install
partie définira cette version de python comme la norme à l'échelle du système, ce qui peut avoir des conséquences imprévues. Si vous exécutez cette commande sur votre poste de travail, vous voudrez probablement l'installer avec le python existant, ce qui peut être fait avecsudo make altinstall
.la source
sqlite-devel
? Je suis sur un system.I Linux personnalisé juste téléchargésqlite-autoconf-3100200.tar.gz
et exécuter./configure
,make && make install
. Après avoir recompilé python3, cela ne fonctionne toujours pas.J'ai eu le même problème (construction à
python2.5
partir des sources sur Ubuntu Lucid), et j'aiimport sqlite3
jeté cette même exception. J'ai installé àlibsqlite3-dev
partir du gestionnaire de packages, recompilé python2.5, puis l'importation a fonctionné.la source
J'ai eu le même problème avec Python 3.5 sur Ubuntu lors de l'utilisation de pyenv .
Si vous installez python à l'aide de pyenv , il est répertorié comme l'un des problèmes de construction courants . Pour le résoudre, supprimez la version python installée, installez la configuration requise (pour ce cas particulier
libsqlite3-dev
), puis réinstallez la version python.la source
C'est ce que j'ai fait pour le faire fonctionner.
J'utilise pythonbrew (qui utilise pip) avec python 2.7.5 installé.
J'ai d'abord fait ce que Zubair (ci-dessus) a dit et j'ai exécuté cette commande:
Ensuite, j'ai exécuté cette commande:
Cela a résolu le problème de la base de données et j'ai eu la confirmation de cela lorsque j'ai couru:
la source
yum install sqlite-devel
au lieu de la première ligne.pysqlite
c'est maintenantsqlite3
dans Python 3, et vous ne pouvez paspip -m install
cela.pysqlite is not supported on Python 3. When using Python 3, use the sqlite3 module from the standard library
Installez le
sqlite-devel
package:yum install sqlite-devel -y
Recompilez python à partir de la source:
la source
Mon _sqlite3.so est dans /usr/lib/python2.5/lib-dynload/_sqlite3.so. À en juger par vos chemins, vous devriez avoir le fichier /usr/local/lib/python2.5/lib-dynload/_sqlite3.so.
Essayez ce qui suit:
Si le fichier n'est pas trouvé, il se peut qu'il y ait un problème avec votre installation Python. Si c'est le cas, assurez-vous que le chemin sur lequel il est installé se trouve dans le chemin Python. Dans le shell Python,
Dans mon cas, /usr/lib/python2.5/lib-dynload est dans la liste, il est donc capable de trouver /usr/lib/python2.5/lib-dynload/_sqlite3.so.
la source
J'ai récemment essayé d'installer python 2.6.7 sur mon bureau Ubuntu 11.04 pour certains travaux de développement. Je suis tombé sur des problèmes similaires à ce fil. J'ai réussi à le réparer en:
Ajustement du fichier setup.py pour inclure le chemin de développement sqlite correct. Extrait de code de setup.py:
Avec le bit que j'ai ajouté étant '/ usr / lib / x86_64-linux-gnu /'.
Après avoir exécuté make, je n'ai reçu aucun avertissement indiquant que le support de sqlite n'était pas construit (c'est-à-dire qu'il était correctement construit: P), mais après l'exécution
make install
, sqlite3 n'a toujours pas importé avec le même "ImportError: No module named _sqlite3" whe running "import sqlite3
".Donc, la bibliothèque a été compilée, mais pas déplacée vers le chemin d'installation correct, 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 construction, vous devrez probablement les ajuster à votre configuration).Voila! La prise en charge de SQLite3 fonctionne désormais.
la source
J'ai trouvé que beaucoup de gens rencontraient ce problème car le Python multi-version, sur mon propre vps (cent os 7 x64), je l'ai résolu de cette façon:
Recherchez le fichier "_sqlite3.so"
en dehors:
/usr/lib64/python2.7/lib-dynload/_sqlite3.so
Trouvez le répertoire de la bibliothèque standard python que vous souhaitez utiliser,
pour moi
/usr/local/lib/python3.6/lib-dynload
Copiez le fichier:
Enfin, tout ira bien.
la source
ImportError: dynamic module does not define module export function (PyInit__sqlite3)
sur CentOS 7..so
ne peut pas être utilisé pour py3.6.4? @xtluoImportError: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
mon python est construit à partir de la source, la cause manque d'options lors de la configuration de la version de python par exec : 3.7.4
fixé
la source
Cela a fonctionné pour moi dans Redhat Centos 6.5:
la source
J'ai le problème dans FreeBSD 8.1:
Il est résolu en tenant le port ----------
après celui-ci on peut voir:
la source
Le package python-pysqlite2 est-il installé?
la source
Vérification de votre fichier settings.py. N'avez-vous pas simplement écrit "sqlite" au lieu de "sqlite3" pour le moteur de base de données?
la source
sqlite3
livré avec Python. J'ai également eu le même problème, je viens de le désinstallerpython3.6
et de l'installer à nouveau.Désinstaller python existant:
Installez python3.6:
la source
vous devez être dans centos ou redhat et compiler python vous-même , c'est le bogue de python, faites-le dans votre répertoire de code source python et faites-le ci-dessous
la source
J'ai eu le même problème, rien n'a fonctionné pour moi à partir des ans ci-dessus mais maintenant je l'ai résolu par
il suffit de retirer
python.pip
etsqlite3
et réinstallentsudo apt-get remove python.pip
sudo apt-get remove sqlite3
maintenant installez-le à nouveau
sudo apt-get install python.pip
sudo apt-get install sqlite3
dans mon cas, lors de l'installation à
sqlite3
nouveau, il a montré une erreur, puis j'ai tapésqlite3
sur le terminal pour vérifier s'il a été retiré ou non et il a commencé à le déballer
une fois le
sqlite3
terminal installé, lancez et écrivezsqlite3
database.db
(pour créer une base de données)Je suis sûr que cela vous aidera certainement
la source
Réponse pour toute personne qui atterrit sur cette page à la recherche d'une solution pour Windows OS:
Vous devez installer pysqlite3 ou db-sqlite3 s'il n'est pas déjà installé. vous pouvez utiliser ce qui suit pour installer.
Pour moi, le problème était avec le fichier DLL de sqlite3.
Solution:
J'ai pris le fichier DLL du site sqlite . Cela peut varier en fonction de votre version de l'installation de python.
Je l'ai collé dans le répertoire DLL de l'env. pour moi, c'était "C: \ Anaconda \ Lib \ DLLs", mais vérifiez le vôtre.
la source
J'ai été déçu que ce problème existe encore jusqu'à aujourd'hui. Comme j'ai récemment essayé d'installer vCD CLI sur CentOS 8.1 et j'ai été accueilli avec la même erreur lorsque j'ai essayé de l'exécuter. La façon dont j'ai dû le résoudre dans mon cas est la suivante:
Comme je l'ai fait pour créer un article de blog différent sur la façon d'installer vCD CLI et VMware Container Service Extension. J'ai fini par capturer les étapes que j'ai utilisées pour résoudre le problème et les mettre dans un article de blog séparé à l'adresse:
http://www.virtualizationteam.com/cloud/running-vcd-cli-fail-with-the-following-error-modulenotfounderror-no-module-named-_sqlite3.html
J'espère que cela sera utile, car si les conseils ci-dessus m'ont aidé à trouver une solution, j'ai dû en combiner quelques-uns et les modifier un peu.
la source
Téléchargez sqlite3:
Suivez ces étapes pour installer:
la source
Vous devez installer pysqlite dans votre environnement python:
la source
Essayez de copier
_sqlite3.so
pour que Python puisse le trouver.Cela devrait être aussi simple que:
Croyez-moi, essayez-le.
la source