Seite 1 von 1

Python - Django - Sqlite3 - Ubuntu - ImportError

Verfasst: Freitag 24. Dezember 2010, 09:42
von mcemsi
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

Re: Python - Django - Sqlite3 - Ubuntu - ImportError

Verfasst: Freitag 24. Dezember 2010, 10:01
von 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?

Re: Python - Django - Sqlite3 - Ubuntu - ImportError

Verfasst: Freitag 24. Dezember 2010, 10:09
von mcemsi
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.

Re: Python - Django - Sqlite3 - Ubuntu - ImportError

Verfasst: Freitag 24. Dezember 2010, 11:33
von 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.