Seite 1 von 1

MySQLdb auf WebServer in aktueller Version verwenden...

Verfasst: Montag 11. Juli 2005, 16:11
von jens
Ich habe gerade versucht auf Hosteurope einfach eine neuere Version von MySQLdb zu benutzen, indem ich aus python\Lib\site-packages\MySQLdb alles per FTP auf dem Server kopiert hab...

Beim importieren erscheind allerdings nur der Fehler:
this is MySQLdb version (1, 2, 0, 'final', 1), but _mysql is version (0, 9, 1, 'final', 1)
Wenn man sich die MySQLdb\__init__.py anschaut, kann man auch erkennen warum:

Code: Alles auswählen

import _mysql

v = getattr(_mysql, 'version_info', None)
if version_info != v:
    raise ImportError, "this is MySQLdb version %s, but _mysql is version %s" %\
          (version_info, v)
Gut, dachte ich mir kopiere ich auch noch die python\Lib\site-packages\_mysql.pyd mit dazu... Dann sollte doch auch die neuere Version genommen werden. Tut's aber leider nicht. Die Fehlermeldung bleibt gleich :(

Jemand eine Idee was man tun kann?

Verfasst: Montag 11. Juli 2005, 16:32
von Leonidas
mysqldb auf dem server kompilieren.. oder wine benutzen um Windows DLL auf Unix Systemen laufen zu lassen ;)

Verfasst: Montag 11. Juli 2005, 16:48
von jens
Da bringst du mich auf eine Idee... Ich dummie hab natürlich die Windows _mysql.pyd genommen. Das kann ja nicht klappen...
Also hab ich nun von meinem Server die _mysql.so genommen.
Nun erhalte ich aber folgenden Fehler:
PyLucid_system/MySQLdb/_mysql.so: undefined symbol: PyObject_GC_Del
Was kann man damit anfangen?

Mir fällt gerade ein... Ich hab auf meinem Server ja Python 2.4... Somit auch MySQLdb für 2.4... Auf Hosteurope ist allerdings 2.2...

Leider gibt es aber nur die MySQLdb v0.9.2 für Python 2.2... Gibt es irgendwo "Backports" ???

Verfasst: Montag 11. Juli 2005, 18:27
von Leonidas
Naja, du kannst Python 2.2 installieren und es dort kompilieren.

Oder mal in Debian oldstable gucken, die haben auch Python 2.2 versionen, allerdings wird da MySQLdb warscheinlich erst recht alt sein.

Verfasst: Dienstag 12. Juli 2005, 06:27
von jens
Bei http://packages.debian.org/testing/pyth ... .2-mysqldb bekommt man es compiliert für Python 2.2...

Aber nun erhalte ich den Fehler:
libmysqlclient_r.so.12: cannot open shared object file: No such file or directory
Ich denke die Version wird dazu nicht passen...

Naja, vielleicht lasse ich das lieber mal und basteln mir die Möglichkeiten der fehlenden connection.query() und connection.store_result().fetch_row(maxrows=0, how=1) lieber nach :? (s. http://www.python-forum.de/viewtopic.php?p=20907#20907 )


EDIT: Hat sich erledigt: http://www.python-forum.de/viewtopic.php?p=21063#21063