mysqldb mit Python2.6

Probleme bei der Installation?
Antworten
Pyccak
User
Beiträge: 8
Registriert: Mittwoch 30. Dezember 2009, 16:39

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
Pyccak
User
Beiträge: 8
Registriert: Mittwoch 30. Dezember 2009, 16:39

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:
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
ich bin auch ein Anfänger mit Linux, also fange ich ganz am anfang an.
Welche Linux-Distribution benutzt du denn?

Gruß, noisefloor
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

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.
jovica.aleksic
User
Beiträge: 9
Registriert: Sonntag 17. Januar 2010, 18:59

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!
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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
jovica.aleksic
User
Beiträge: 9
Registriert: Sonntag 17. Januar 2010, 18:59

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.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Antworten