it-swarm.com.de

Integration von MySQL in Python in Windows

Ich finde es schwierig, MySQL mit Python in meinem Windows-System zu verwenden.

Ich verwende derzeit Python 2.6. Ich habe versucht, MySQL-python-1.2.3b1 zu kompilieren (was soll für Python 2.6?) - Quellcode funktionieren) Das Setup-Skript wird ausgeführt und meldet keinen Fehler, generiert jedoch kein _mysql-Modul.

Ich habe auch versucht, MySQL für Python 2.5 ohne Erfolg einzurichten. Das Problem bei der Verwendung von 2.5 ist, dass Python 2.5 mit Visual Studio 2003 kompiliert wurde (ich habe es installiert) Ich habe Visual Studio 2005 auf meinem Windows-System, daher kann setuptools das Modul _mysql nicht generieren.

Irgendeine Hilfe ?

101
Sammy

Download-Seite für python-mysqldb . Die Seite enthält Binärdateien für 32- und 64-Bit-Versionen von Python 2.5, 2.6 und 2.7.

Es gibt auch Diskussion über die Abschaffung der Verwerfungswarnung .

[~ # ~] Update [~ # ~] : Dies ist eine alte Antwort. Derzeit würde ich die Verwendung von PyMySQL empfehlen. Es ist reines Python, unterstützt also alle Betriebssysteme gleichermaßen, ist fast ein Ersatz für mysqldb und funktioniert auch mit python=) Installieren Sie es von hier (weitere Anweisungen hier ) und führen Sie dann Folgendes aus:

pip install pymysql
126
itsadok

Dies mag wie der Rat Ihres Großvaters lauten, aber in allen Antworten wurde nicht der beste Weg genannt: Gehe und installiere ActivePython anstelle der Windows-Binärdateien von python.org. Ich habe mich lange wirklich gefragt, warum die Python - Entwicklung unter Windows so pita war - bis ich Activestate Python installiert habe. Ich bin nicht mit ihnen verbunden. Es ist einfach die reine Wahrheit Jede Wand: Python-Entwicklung unter Windows = ActiveState ! Dann einfach pypm install mysql-python und alles funktioniert reibungslos. keine Kompilierorgie. Keine seltsamen Fehler. kein Schrecken. Beginnen Sie einfach nach fünf Minuten mit dem Programmieren und erledigen Sie echte Arbeit. Dies ist der einzige Weg, um auf Windows zu gehen. Ja wirklich.

Als Python Neuling, der das Python Ökosystem lernt, habe ich dies gerade abgeschlossen.

  1. Installieren Sie setuptools Anweisungen

  2. Installieren Sie MySQL 5.1. Laden Sie die 97.6MB MSI von hier herunter. Sie können die Essentials-Version nicht verwenden, da sie keine C-Bibliotheken enthält.
    Wählen Sie unbedingt eine benutzerdefinierte Installation aus und markieren Sie die zu installierenden Entwicklungstools/-bibliotheken, da dies nicht standardmäßig erfolgt. Dies ist erforderlich, um die C-Header-Dateien abzurufen.
    Sie können überprüfen, ob Sie dies richtig gemacht haben, indem Sie in Ihrem Installationsverzeichnis nach einem Ordner mit dem Namen "include" suchen. ZB C:\Programme\MySQL\MySQL Server 5.1\include. Es sollte eine ganze Reihe von .h-Dateien enthalten.

  3. Installieren Sie Microsoft Visual Studio C++ Express 2008 von hier Dies ist erforderlich, um einen C-Compiler zu erhalten.

  4. Öffnen Sie eine Befehlszeile als Administrator (klicken Sie mit der rechten Maustaste auf die Verknüpfung "Cmd" und wählen Sie "Als Administrator ausführen". Öffnen Sie ein neues Fenster , nachdem Sie diese Dinge oder Ihren Pfad installiert haben wird nicht aktualisiert und die Installation schlägt immer noch fehl.

  5. Über die Eingabeaufforderung:

    easy_install -b C:\temp\sometempdir mysql-python

    Das wird scheitern - was in Ordnung ist.

    Öffnen Sie jetzt site.cfg in Ihrem temporären Verzeichnis C:\temp\sometempdir und bearbeiten Sie die Einstellung "registry_key" wie folgt:

    registry_key = SOFTWARE\MySQL AB\MySQL Server 5.1

    jetzt CD in dein temporäres Verzeichnis und:

    python setup.py sauber

    python setup.py installieren

    Sie sollten bereit sein zu rocken!

  6. Here ist ein supereinfaches Skript, mit dem Sie die Python DB-API für Sie erlernen können - falls Sie sie benötigen.

15
Willie

Ich fand einen Ort, an dem eine Person erfolgreich MySQL für Python 2.6 erstellt und den Link geteilt hatte http://www.technicalbard.com/files/MySQL-python-1.2.2.win32 -py2.6.exe

... Möglicherweise wird beim Importieren von MySQLdb eine Warnung angezeigt, die in Ordnung ist und nichts tut.

C:\Python26\lib\site-packages\MySQLdb__init __. Py: 34: DeprecationWarning: Das Mengenmodul wird vom Mengenimport ImmutableSet nicht mehr unterstützt

Was ist mit pymysql ? Es ist reines Python, und ich habe es unter Windows mit beachtlichem Erfolg verwendet, um die Schwierigkeiten beim Kompilieren und Installieren von mysql-python zu umgehen.

5
JasonFruit

Auf Python 3.4 habe ich mysqlclient von http://www.lfd.uci.edu/~gohlke/pythonlibs/ mit pip installiert und mysqlclient funktioniert.

2
Spicko

Sie sind nicht die einzige Person, die Probleme mit Python 2.6 und MySQL ( http://blog.contriving.net/2009/03/04/using-python-26-) hat. mysql-on-windows-is-almost-impossible / ) Hier eine Erklärung, wie es laufen soll unter Python 2.5 http://i.justrealized.com/ 2008/04/08/Wie installiere ich Python und Django unter Windows Vista? / Viel Glück

2
Mork0075
2
Dave Webb

Sie können versuchen, myPySQL zu verwenden. Es ist wirklich einfach zu bedienen; Keine Kompilierung für Windows, und selbst wenn Sie es aus irgendeinem Grund kompilieren müssen, müssen Sie nur Python und Visual C installiert haben (nicht mysql).

http://code.google.com/p/mypysql/

Viel Glück

2
Gustavo Vargas

Die vorkompilierten Binaries unter http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python funktionieren nur für mich.

  1. Öffne MySQL_python-1.2.5-cp27-none-win_AMD64.whl Datei mit Zip-Extraktionsprogramm.
  2. Kopieren Sie den Inhalt nach C:\Python27\Lib\site-packages\
2
guneysus

Da ich python in einer (pylons/pyramid) -virtualen Umgebung ausführe, konnte ich die zuvor verknüpften binären Installationsprogramme (hilfreich) nicht ausführen.

Ich hatte Probleme, die Schritte mit Willies Antwort zu befolgen, aber ich stellte fest, dass das Problem (wahrscheinlich) darin besteht, dass ich Windows 7 x64 installiere, wodurch der Registrierungsschlüssel für mysql an einem etwas anderen Ort abgelegt wird, speziell in meinem Fall (Anmerkung: I führe Version 5.5 aus in: "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB\MySQL Server 5.5".

"HKEY_LOCAL_MACHINE" kann jedoch nicht in den Pfad aufgenommen werden, da dies sonst fehlschlägt.

Außerdem musste ich zwischen den Schritten 3 und 4 einen Neustart durchführen.

Nachdem Sie dies alles durchgearbeitet haben, wäre es IMO schlauer gewesen, die gesamte python dev-Umgebung von Cygwin aus auszuführen.

1
Evan

Wenn Sie nach Python 3.2 suchen, scheint dies die beste Lösung zu sein, die ich bisher gefunden habe

Quelle: http://wiki.python.org/moin/MySQL

1
Eran Medan

Sie können auch pyodbc mit MySQL Connector/ODBC verwenden, um MySQL unter Windows zu verwenden. nixodbc ist auch verfügbar, um den Code unter Linux kompatibel zu machen. Pyodbc verwendet den Standard Python DB API 2. . Wenn Sie also weiterhin zwischen MySQL-/PostgreSQL-/SQLite-/ODBC-/JDBC-Treibern usw. wechseln, sollte dies relativ einfach sein.

0
fijiaaron

Vielleicht möchten Sie auch die Verwendung von Cygwin in Betracht ziehen, da das Repository mysql python libraries enthält.

0
lfaraone

Ich hatte die Installationsprobleme mit MySQLdb satt und versuchte stattdessen pymysql .

Einfache Einstellung;

git clone https://github.com/petehunt/PyMySQL.git
python setup.py install

Und APIs sind ziemlich gleich.

0

ich habe die Antwort von itsadok positiv bewertet, weil es mich auch zu der Installation für python 2.7 geführt hat, die sich hier befindet: http://www.codegood.com/archives/129

0
Mark