Seite 1 von 1

Modulimport Problem mysqldb

Verfasst: Dienstag 15. April 2008, 14:45
von Oscar
Hi,
vorweg kurz zu den Rahmenbedingungen. Ich habe hier ein tagesaktuelles Debian-Etch
mit python 2.4 (als Abhängigkeit bei der Grundinstallation mitinstalliert) und mit nachgerüstetem Python 2.5.
Nun wollte ich mal meine angestaubten sql/mysql Kenntnisse wieder etwas entstauben. Also habe ich
aptitude install python-mysqldb
nachgerüstet.
Unter Python 2.4 kan ich auch problemlos das MySQLdb importieren und damit arbeiten.
Nicht jedoch unter Python 2.5

Code: Alles auswählen

import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named MySQLdb
Ich habe dann mit sys.path gesehen, das das Modul gar nicht im Modul-Pfad liegt
und wollte es schon händisch nach /usr/lib/... umkopieren. Dann habe ich allerdings
festgestellt, das das Modul unter Python 2.4 auch nicht im Modul Pfad liegt, obwohl ich
damit arbeiten kann !?!?
1. Was muß ich jetzt tun, um unter 2.5 auch mit MySQLdb arbeiten zu können ?
2. Ich vermute, das meine Grundidee mit dem händischen umkopieren "ordnungspolitisch"
schwer daneben ist, oder täusche ich mich da ?

Gruß Oscar

Verfasst: Dienstag 15. April 2008, 15:14
von jens
Das ganze liegt IMHO in /usr/lib/python2.4/site-packages/ (und python2.5)...
MySQLdb hat binäre Teile, ein kopieren von 2.4 nach 2.5 ist also keine gute Idee...

Nutzte doch evtl. [wiki]Easy Install[/wiki]

Re: Modulimport Problem mysqldb

Verfasst: Dienstag 15. April 2008, 15:35
von Leonidas
Oscar hat geschrieben:Ich habe hier ein tagesaktuelles Debian-Etch
mit python 2.4 (als Abhängigkeit bei der Grundinstallation mitinstalliert) und mit nachgerüstetem Python 2.5.
Tagesaktuell heist in dem Fall, dass du ein Release vom 8. April 2007 nutzt?
Oscar hat geschrieben:Nun wollte ich mal meine angestaubten sql/mysql Kenntnisse wieder etwas entstauben. Also habe ich
aptitude install python-mysqldb
nachgerüstet.
Unter Python 2.4 kan ich auch problemlos das MySQLdb importieren und damit arbeiten.
Nicht jedoch unter Python 2.5
Richtig. Debian Etch enthält keine MySQLdb die mit Python 2.5 funktioniert.
Oscar hat geschrieben:1. Was muß ich jetzt tun, um unter 2.5 auch mit MySQLdb arbeiten zu können ?
2. Ich vermute, das meine Grundidee mit dem händischen umkopieren "ordnungspolitisch"
schwer daneben ist, oder täusche ich mich da ?
Umkopieren funktioniert schlichtweg nicht, da Python 2.5 keine Python 2.4 Module laden wird. Du müsstest MySQLdb neukompilieren. Dazu kannst du etwa easy_install verwenden (ich würde aber raten, dort den Installationspfad auf /usr/local statt auf /usr zu stellen) und es dann so nutzen. Auf diese Weise nutze ich auch psycopg2, weil das Backporten des Paketes mir zu aufwendig war.

Modulimport Problem mysqldb

Verfasst: Dienstag 15. April 2008, 15:39
von Oscar
Das ganze liegt IMHO in /usr/lib/python2.4/site-packages/ (und python2.5)...
Jau, da hast Du recht.
Mein Fehler war, das ich mit find nach *mysqldb* gesucht habe (und da einen ganz anderen
Pfad gefunden habe). Das sollte mir eigentlich nicht mehr passieren :oops:
Das Modul liegt in /usr/lib/python2.4/site-packages vor. Das erklärt dann ja auch,
warum ich unter 2.4 damit arbeiten kann.
Deinen Hinweis auf easy-install muß ich mir mal anschauen, aber erst nachdem ich
mich noch mehr mit Modulpfaden beschäftigt habe. Danke.

Verfasst: Dienstag 15. April 2008, 15:43
von jens
btw. mit python 2.4 kann man auch ganz prima arbeiten ;)

Verfasst: Dienstag 15. April 2008, 15:51
von Oscar
leonidas hat geschrieben:Debian Etch enthält keine MySQLdb die mit Python 2.5 funktioniert.
.....
Umkopieren funktioniert schlichtweg nicht, da Python 2.5 keine Python 2.4 Module laden wird.
jens hat geschrieben:btw. mit python 2.4 kann man auch ganz prima arbeiten Wink
Ja Danke. Das sind ja entscheidende Hinweise. Bei meinem derzeitigem Kenntnisstand
ist es wohl besser, wenn ich einstweilen bei Python 2.4 bleibe (was mysqldb angeht).