[python] Kein Modul namens _sqlite3



7 Answers

Es scheint, dass Ihr Makefile die entsprechende .so Datei nicht enthält. Ich habe dieses Problem mit den folgenden Schritten behoben:

  1. Installiere sqlite-devel (oder libsqlite3-dev auf einigen Debian-basierten Systemen)
  2. Python neu konfiguriert und erneut kompiliert mit ./configure --enable-loadable-sqlite-extensions && make && sudo make install
Question

Ich versuche eine Django App auf meinem VPS unter Debian 5 laufen zu lassen. Wenn ich eine Demo-App starte, kommt es mit diesem Fehler zurück:

  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

Betrachtet man die Python-Installation, gibt es den gleichen Fehler:

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
>>>

Wenn ich im Internet lese, lerne ich, dass Python 2.5 mit allen notwendigen SQLite Wrappern geliefert werden sollte. Muss ich Python neu installieren, oder gibt es eine andere Möglichkeit, dieses Modul zum Laufen zu bringen?




Sie müssen pysqlite in Ihrer Python-Umgebung installieren:

    $ pip install pysqlite



Mein _sqlite3.so ist in /usr/lib/python2.5/lib-dynload/_sqlite3.so. Ausgehend von Ihren Pfaden sollten Sie die Datei /usr/local/lib/python2.5/lib-dynload/_sqlite3.so haben.

Versuche Folgendes:

find /usr/local -name _sqlite3.so

Wenn die Datei nicht gefunden wird, stimmt möglicherweise etwas mit Ihrer Python-Installation nicht. Wenn dies der Fall ist, stellen Sie sicher, dass der Pfad, in dem es installiert ist, im Python-Pfad liegt. In der Python-Shell

import sys
print sys.path

In meinem Fall ist /usr/lib/python2.5/lib-dynload in der Liste, so dass es /usr/lib/python2.5/lib-dynload/_sqlite3.so finden kann.




Ist das Paket python-pysqlite2 installiert?

sudo apt-get install python-pysqlite2



Ich habe das gleiche Problem, nichts funktionierte für mich von den oben genannten und jetzt habe ich es behoben

entferne einfach python.pip und sqlite3 und installiere neu

  1. sudo apt-get remove python.pip
  2. sudo apt-get remove sqlite3

Jetzt installiere es erneut

  1. sudo apt-get install python.pip
  2. sudo apt-get install sqlite3

in meinem Fall bei der Installation von sqlite3 wieder zeigte es einen Fehler, dann tippte ich

  1. sqlite3

am Terminal, um zu überprüfen, ob es entfernt wurde oder nicht und es begann, es auszupacken

Sobald der sqlite3 Fire-Up-Terminal installiert ist und schreiben

  1. sqlite3
  2. database.db (um eine Datenbank zu erstellen)

Ich bin mir sicher, dass dir das definitiv helfen wird




  1. Installieren Sie das Paket sqlite-devel :

    yum install sqlite-devel -y

  2. Erneutes Kompilieren von Python aus der Quelle:

    ./configure
    make
    make altinstall
    



Ich habe viele Leute gefunden, die auf dieses Problem stoßen, weil die Multi-Version Python, auf meinem eigenen vps (cent os 7 x64), habe ich es auf diese Weise gelöst:

  1. Finde die Datei "_sqlite3.so"

    find / -name _sqlite3.so
    

    out: /usr/lib64/python2.7/lib-dynload/_sqlite3.so

  2. Suchen Sie die Standardbibliothek von dir python, die Sie verwenden möchten,

    für mich /usr/local/lib/python3.6/lib-dynload

  3. Kopiere die Datei:

    cp   /usr/lib64/python2.7/lib-dynload/_sqlite3.so /usr/local/lib/python3.6/lib-dynload
    

Endlich wird alles in Ordnung sein.




Dies hat bei Redhat Centos 6.5 für mich funktioniert:

yum install sqlite-devel
pip install pysqlite





Related