MySQLdb auf WebServer in aktueller Version verwenden...

Probleme bei der Installation?
Antworten
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 11. Juli 2005, 16:11

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?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 11. Juli 2005, 16:32

mysqldb auf dem server kompilieren.. oder wine benutzen um Windows DLL auf Unix Systemen laufen zu lassen ;)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Montag 11. Juli 2005, 16:48

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" ???

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 11. Juli 2005, 18:27

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dienstag 12. Juli 2005, 06:27

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

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten