Python - Django - Sqlite3 - Ubuntu - ImportError

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
mcemsi
User
Beiträge: 2
Registriert: Freitag 24. Dezember 2010, 09:35

Hallo zusammen,

ich habe gestern angefangen etwas mit Python und Django zu spielen,
und habe nun das Problem, dass Python sqlite nicht mag (:

Ich habe Python Version 2.7.1 installiert, sqlite3, und python-sqlite3.

Zuerst hatte ich das Problem, dass ich sqlite3 per ("import sqlite3") nicht importieren konnte,
da die _sqlite3.so nicht im import Pfad lag, nun habe ich diesen angepasst aber bekomme folg.
Fehlermeldung.

Code: Alles auswählen

>>> import sqlite3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "/usr/local/lib/python2.7/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: /usr/lib/python2.6/lib-dynload/_sqlite3.so: udefined symbol: PyUnicodeUCS4_DecodeUTF8
Wäre toll wenn mir jemand helfen könnte (:

Gruß und Frohe Weihnachten,
mcemsi
BlackJack

@mcemsi: Schau mal auf die Pfade -- Du mischst dort zwei verschiedene Python-Versionen. Du musst in Python 2.7 auch eine `_sqlite3.so` laden, die für 2.7 kompiliert wurde.

Warum kompilierst Du überhaupt eine 2.7 selber und nimmst nicht die 2.6, die von Ubuntu als Paket installiert wurde?
mcemsi
User
Beiträge: 2
Registriert: Freitag 24. Dezember 2010, 09:35

hm,
ich dachte ich lad halt mal die neuste 2er runter, das sollte doch kein Problem sein?

Aber in der 2.7er finde ich kein _sqlite3.so file und habe auch keine ahnung wie ich es da rein installieren soll.
BlackJack

@mcemsi: Es sollte kein Problem sein, nur dass Du dann auch alle zusätzlichen Module/Pakete von Drittanbietern für die 2.7 auch selbst installieren musst, denn die in der Paketverwaltung sind ja für 2.6. Zum Beispiel auch Django. Wenn es keinen Grund gibt, sich diese zusätzliche Arbeit zu machen, würde ich das vermeiden.

Wenn keine `_sqlite3.so` gebaut wurde, dann hast Du wahrscheinlich die Header-Dateien für SQLite3 nicht installiert gehabt, bevor Du die 2.7 selber kompiliert hast.
Antworten