Fehler beim Aufruf von SQLite

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
kdjantzen
User
Beiträge: 5
Registriert: Mittwoch 25. November 2015, 14:07

Hallo,

beim Aufruf von SQLite erhalte ich folgende Nachrichten:

Code: Alles auswählen

jantzen@PC4:~$ python
Python 3.5.0 (default, Dec  2 2015, 14:16:16) 
[GCC 4.7.2] on linux
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/python3.5/sqlite3/__init__.py", line 23, in <module>
    from sqlite3.dbapi2 import *
  File "/usr/local/lib/python3.5/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: No module named '_sqlite3'
>>> 
Offensichtlich fehlt das Module _sqlite3.
Was muss ich da nachinstallieren?


Danke fuer einen Hinweis.

K.D.J.
BlackJack

@kdjantzen: Wahrscheinlich Sqlite3 und die dazugehörigen Entwicklerpakete. Und dann muss man Python neu übersetzen.
Benutzeravatar
noisefloor
User
Beiträge: 4149
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

welche Distro benutzt du und wie hast du Python installiert? Das SQLite fehlt ist eher... ungewöhnlich.

Gruß, noisefloor
BlackJack

@noisefloor: Schau Dir mal den Pfad an — ``/usr/local/…`` deutet sehr stark auf selbstkompiliert hin. :-)
Benutzeravatar
noisefloor
User
Beiträge: 4149
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

stimmt - hatte ich eben nicht darauf geachtet...

Gruß, noisefloor
kdjantzen
User
Beiträge: 5
Registriert: Mittwoch 25. November 2015, 14:07

Hallo,

ja, ich habe Python 3.5 als tar.gz heruntergeladen und, wie in der Doku stand, kompiliert. (make configure, etc).
(Ich arbeite z.Zt. noch mit Debian Wheezy AMD64)
Und bis dato lief alles bestens.

Also die Frage: was muss ich machen, um zu SQlite zu kommen?

Vielen Dank im Voraus.
K.D.J.
Benutzeravatar
noisefloor
User
Beiträge: 4149
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

ungetestet: vorher über die Paketverwaltung das Paket `libsqlite3-dev` installieren.

Gruß, noisefloor
kdjantzen
User
Beiträge: 5
Registriert: Mittwoch 25. November 2015, 14:07

Hallo,
noisefloor hat geschrieben:
ungetestet: vorher über die Paketverwaltung das Paket `libsqlite3-dev` installieren.
das half leider nicht. Das Problem muss "bei Python3.5" liegen.

Auf einer Debian-Konsole kann ich SQlite aufrufen und, z.B., eine Datenbank definieren, eine Tabelle anlegen und fuellen.

K.D.J.
BlackJack

@kdjantzen: Du hast auch wirklich komplett neu kompiliert und nicht nur ein ``make clean && make`` oder so gemacht und die gecacheten Daten vom vorherigen ``configure``-Lauf wiederverwendet‽ Was wurde denn dabei so ausgegeben was gefunden wurde und was nicht? Eigentlich sollte da irgendwo in den Ausgaben eine Liste der nicht übersetzten C-Module stehen, bei denen die Abhängigkeiten gefehlt haben.

Was auch oft eine gute Idee ist wenn die Distribution eine ältere Version von dem bietet was man sich selber kompilieren will, ist das installieren der dev-Abhängigkeiten für dessen Quelltextpaket. Also zum Beispiel ``apt-get build-dep python3`` (ungetestet).
Benutzeravatar
noisefloor
User
Beiträge: 4149
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

gerade mal unter Ubuntu 14.04 geschaut: `apt-get build-dep python3` installiert keine `-dev` Pakete. Dazu muss ich eine genau Versionsangabe machen, also z.B. `apt-get build-dep python3.4`. Dann gibt's eine ganze Reihe dev-Pakete.

Unter Wheezy muss man dann wohl `python3.4` durch `python3.2` ersetzen. Und das `sudo` nicht vergessen.

Gruß, noisefloor
Antworten