Seite 1 von 1

mysqldb mit Python2.6

Verfasst: Mittwoch 30. Dezember 2009, 16:50
von Pyccak
Hallo,
ich habe ein promblem mit der installation von python2.6 bzw python-mysqldb. ich bin auch ein Anfänger mit Linux, also fange ich ganz am anfang an.

Ich will ein Programm zum laufen bingen welches Python2.6 braucht aber über apt-get install bekomme ich nur Python2.5 also habe ich es hier runtergeladen und über "make", "make test" und "make install" installiert. Wenn ich jetzt "python -V" eingeben bekomme ich auch die 2.6er version angezeigt. Das Programm braucht aber noch python-mysqldb. Also habe ich "apt-get install python-mysqldb" eingegeben und folgendes bekomme ich als antwort:

Code: Alles auswählen

Reading package lists... Done
Building dependency tree
Reading state information... Done
python-mysqldb is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
also ist scheinbar die neuste Version installiert. Hab rausgefunden das es die "1.2.2-7_i386" ist.

So weit so gut, wenn ich aber nun das Programm starte bekomme ich diese Fehlermeldung:

Code: Alles auswählen

14:47:50	CRITICAL	No module named MySQLdb. You need to install python-myqsldb.
Gib es da eine neure Version von mysqldb? Hab mla ein mit 1.2.2-10 gefunden aber ich bekomme die nicht installier.

Danke für die Hilfe

Verfasst: Freitag 1. Januar 2010, 15:32
von Pyccak
Hier die Lösung:

Ja, es gibt eine neuere Version, die 1.2.3


erst das Paket runterladen mit
#wget http://pypi.python.org/packages/source/ ... 6dd7a0734d

dann es entpacken mit
#tar xfv MySQL-python-1.2.3c1.tar.gz
...
#cd MySQL-python-1.2.3c1

und installieren (vorrausgesetz, dass python 2.6 schon installiert ist)
#sudo python2.6 setup.py install

kann sein das für den letzten Befehl Setuptools von Python notwendig sind. Kein Ahnung ob man die brauch, kenn mich nicht so gut aus mit Python. Ich hatte die aber installiert gehabt.

Danke nochmals für die Hilfe :roll:

Verfasst: Dienstag 5. Januar 2010, 08:56
von noisefloor
Hallo,
ich bin auch ein Anfänger mit Linux, also fange ich ganz am anfang an.
Welche Linux-Distribution benutzt du denn?

Gruß, noisefloor

Verfasst: Dienstag 5. Januar 2010, 09:06
von burli
Also wenn du Linux verwendest solltest du immer die Versionen aus den Repositories verwenden. Unter Ubuntu sieht das so aus
sudo apt-get install python-mysqldb
Die Windows Angewohnheit, irgendwo irgendwelche Programme oder Sourcecodes runterzuladen und zu installieren sollte man sich unter Linux ganz schnell abgewöhnen. Wenn so ein Fehler wie "No module named MySQLdb..." auftaucht stimmt irgendwas anderes nicht.

Verfasst: Sonntag 17. Januar 2010, 19:07
von jovica.aleksic
Hi!

Ich hänge auch etwas fest bei der Installation von mySQLdb für Python (2.6.1), allerdings auf einem Windows 7 (64bit) System.

Es ist nun schon der zweite Tag, und heute gab es auch Fortschritte, so konnte ich endlich

Code: Alles auswählen

python setup.py install
durchführen, und mir wurde nach der Abarbeitung angezeigt, es habe keine Fehler gegeben.

Nun habe ich - unwissend wie ich bin - einfach mal rumprobiert. Ich muss auch sagen, dass ich enttäuscht bin dass es keine vernpnftigen Tutorials gibt um Python/MySQL auf Windows einzurichten. Klar habe ich dutzende Seiten gefunden, aber das Ganze ist eher diffus irgendwie.
Wie dem auch sei, ich habe nachdem das setup.py durchgelaufen ist den ganzen Ordner nach "Lib" im python Verzeichnis kopiert, und nun bin ich soweit:

Code: Alles auswählen

>>> import MySQLdb

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import MySQLdb
  File "C:\Program Files (x86)\Python 2.6.1\lib\site-packages\MySQLdb\__init__.py", line 19, in <module>
    import _mysql
ImportError: DLL load failed: %1 ist keine zulässige Win32-Anwendung.
>>> 
und weiter komme ich im Moment nicht, denn ich weiß nicht mal genau was los ist:
a) ich sitze auf nem 64bit System und da heißt es keine zulässige Win32 Anwendung
b) ich finde nix namens _mysql, ausser _mysql.c von dem ich als absoluter Python newbie nicht weiß ob es denn genutzt wird, immerhin ist es ja ein .c script (vermute ich)

Da ich Zeitdruck habe, versuche ich alles Mögliche weiterhin, Hilfestellung von hier wäre natürlich großartig!

Verfasst: Sonntag 17. Januar 2010, 19:37
von cofi
Das Problem ist das mysqldb nicht pure-Python ist, sondern C Module hat. Die muessten erst kompiliert werden. Allerdings schaetze ich nach dem Post, dass du mit einem vorkompilierten Paket besser dran bist.

-> http://www.google.com/search?hl=de&q=my ... =&aq=f&oq=
=> http://www.codegood.com/archives/4

Verfasst: Sonntag 17. Januar 2010, 19:47
von jovica.aleksic
Nun, ich habe die Links auch schon abgeklappert, leider schlagen die Setups quasi alle bei mir fehl.. Das Programm funktioniert dann nicht mehr, wie Windows es so gerne formuliert, und muss geschlossen werden.
Mit bestimmten Kompatibilitätsmodi, evtl war es lediglich als administrator ausgeführt, lief das setup auch schonmal ohne abzustürzen durch, jedoch hatte sich danach nichts geändert (selbes Verhalten innerhalb von Python)

Bin kurz davor ein virtuelles System mit Linux aufzusetzen, allerdings ist Linux ebenso Neuland für mich und führt mich sicherlich zu neuen Schwierigkeiten. Versuche weiterhin alles, und wenn es denn mal alles funktioniert, werde ich keine Ahnung haben wie das zu reproduzieren wäre, aber hauptsache es klappt irgendwann mal :)

jedenfalls scheint mir Windows 7 x64 + Python 2.6 + MySQLdb eine extrem knifflige Kombination zu sein, vor allem für einen Einsteiger. Schade, nimmt vieles an Motivation weg bevor man überhaupt zum ausprobieren kommt. Noch bin ich nicht frustriert, aber bisher sieht alles nach Richtung Frustration und Aufgeben aus :/

Edit:
Habe Cygwin drauf (in der MySQLdb README heißt es ja auch ganz klar dass man nen Compiler braucht), und werde mich nun da versuchen. Falls jemand die nötigen Schritte erläutern kann wäre es super. Ansonsten bin ich weiterhin im Web-Sumpf und mühe mich mit Google ab. Muss ja gehen irgendwie, keine Frage :)

Edit2:
Da ich nur eine testaufgabe lösen muss, und diese lediglich eine SQL Sprache fordert, sollte ich vielleicht einfach SQLite nutzen.. Das ist die zweite mögliche Marschrichtung. Wäre dennoch schön MySQL zum Laufen zu bringen, einfach nur um sich nicht zu ärgern dass es nicht klappt.

Verfasst: Sonntag 17. Januar 2010, 23:00
von gerold
Hallo!

Egal, ob du ein 32-Bit oder ein 64-Bit Windows fährst. Nimm auf lieber das 32-Bit Python. Denn viele nützliche Pakete gibt es noch nicht für 64 Bit.

Unabhängig davon, gibt es das aktuelle mysql-python leider nicht fertig kompiliert für Windows. Vielleicht sollte man oursql http://pypi.python.org/pypi/oursql/ mal eine Chance geben. Ich kenne es noch nicht. Aber die Hilfe http://packages.python.org/oursql/ sieht vielversprechend aus.

Für Windows: http://www.habnabit.org/software/oursql/

mfg
Gerold
:-)