Ich finde es schwierig, MySQL mit Python in meinem Windows-System zu verwenden.
Ich verwende derzeit Python 2.6. Ich habe versucht, den Quellcode von MySQL-python-1.2.3b1 (der für Python 2.6 funktionieren soll?) Mit den bereitgestellten Setup-Skripten zu kompilieren. 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 mit den bereitgestellten Binärdateien installiert). Ich habe Visual Studio 2005 auf meinem Windows-System. Daher kann setuptools das Modul _mysql nicht generieren.
Irgendeine Hilfe ?
Antworten:
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 Diskussionen darüber, die Abwertungswarnung loszuwerden .
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 3. Der beste Weg, es zu installieren, ist die Verwendung von pip. Sie können es von hier aus installieren (weitere Anweisungen hier ) und dann ausführen:
quelle
pip install pymysql
,syncdb
klagte noch über das fehlendeMySQLdb
Modul.Dies mag sich wie der Rat Ihres Großvaters anhören, aber in allen Antworten wurde nicht der beste Weg erwähnt: Installieren Sie ActivePython anstelle der Windows-Binärdateien von python.org. Ich habe mich lange gefragt, warum die Python-Entwicklung unter Windows so eine Pita ist - bis ich Activestate Python installiert habe. Ich bin nicht mit ihnen verbunden. Es ist nur die klare Wahrheit. Schreiben Sie es an jede Wand: Python-Entwicklung unter Windows = ActiveState ! Sie dann einfach
pypm install mysql-python
und alles funktioniert reibungslos. keine Kompilierorgie. keine seltsamen Fehler. kein Terror. Beginnen Sie einfach nach fünf Minuten mit dem Codieren und erledigen Sie echte Arbeit. Dies ist der einzige Weg, um auf Windows zu gehen. Ja wirklich.quelle
Als Python-Neuling, der das Python-Ökosystem lernt, habe ich dies gerade abgeschlossen.
Installieren Sie die Anweisungen für setuptools
Installieren Sie MySQL 5.1. Laden Sie das 97,6 MB MSI von hier herunter. Sie können die Essentials-Version nicht verwenden, da sie nicht die C-Bibliotheken enthält.
Stellen Sie sicher, dass Sie eine benutzerdefinierte Installation auswählen und die Entwicklungstools / Bibliotheken für die Installation markieren, 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. EG C: \ Programme \ MySQL \ MySQL Server 5.1 \ include. Es sollte eine ganze Reihe von .h-Dateien enthalten.
Installieren Sie Microsoft Visual Studio C ++ Express 2008 von hier aus. Dies ist erforderlich, um einen C-Compiler zu erhalten.
Öffnen Sie eine Befehlszeile als Administrator (klicken Sie mit der rechten Maustaste auf die Cmd-Verknüpfung und klicken Sie dann auf "Als Administrator ausführen". Öffnen Sie nach der Installation dieser Elemente unbedingt ein neues Fenster, da sonst Ihr Pfad nicht aktualisiert wird und die Installation weiterhin fehlschlägt.
An der Eingabeaufforderung:
easy_install -b C: \ temp \ sometempdir mysql-python
Das wird scheitern - was in Ordnung ist.
Öffnen Sie nun site.cfg in Ihrem temporären Verzeichnis C: \ temp \ sometempdir und bearbeiten Sie die Einstellung "registry_key" auf:
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
Du solltest bereit sein zu rocken!
Hier ist ein supereinfaches Skript, mit dem Sie die Python DB-API für Sie erlernen können - falls erforderlich.
quelle
Ich fand einen Speicherort, an dem eine Person MySQL für Python2.6 erfolgreich erstellt hatte und den Link http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe teilte
... beim Importieren von MySQLdb wird möglicherweise eine Warnung angezeigt, die in Ordnung ist und nichts schadet.
C: \ Python26 \ lib \ site-packages \ MySQLdb__init __. Py: 34: DeprecationWarning: Das Sets-Modul ist vom Set-Import ImmutableSet veraltet
quelle
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.
quelle
Sie sind nicht die einzige Person, die Probleme mit Python 2.6 und MySQL hat ( http://blog.contriving.net/2009/03/04/using-python-26-mysql-on-windows-is-nearly-impossible/ ) . Hier ist eine Erklärung, wie es unter Python 2.5 ausgeführt werden soll. Http://i.justrealized.com/2008/04/08/how-to-install-python-and-django-in-windows-vista/ Viel Glück
quelle
Auf Sourceforge sind Windows-Binärdateien für MySQL-Python (2.4 und 2.5) verfügbar . Hast du die ausprobiert?
quelle
Die vorkompilierten Binärdateien auf http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python funktionieren nur für mich.
MySQL_python-1.2.5-cp27-none-win_amd64.whl
Datei mit Zip Extractor Programm .C:\Python27\Lib\site-packages\
quelle
Unter Python 3.4 habe ich mysqlclient von http://www.lfd.uci.edu/~gohlke/pythonlibs/ mit pip installiert. Installiere mysqlclient und es funktioniert.
quelle
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 nur Python und Visual C installiert sein (nicht MySQL).
http://code.google.com/p/mypysql/
Viel Glück
quelle
Da ich Python in einer virtuellen Umgebung (Pylone / Pyramide) ausführe, konnte ich die zuvor verknüpften Binärinstallationsprogramme (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 Speicherort abgelegt wird, insbesondere in meinem Fall (Hinweis: I. Ich verwende Version 5.5) 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.
Nach all dem, IMO, wäre es klüger gewesen, die gesamte Python-Entwicklungsumgebung von Cygwin aus auszuführen.
quelle
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
quelle
Vielleicht möchten Sie auch Cygwin verwenden , das MySQL-Python-Bibliotheken im Repository enthält.
quelle
Sie können pyodbc auch mit dem MySQL Connector / ODBC verwenden , um MySQL unter Windows zu verwenden. Unixodbc ist auch verfügbar, um den Code unter Linux kompatibel zu machen. Pyodbc verwendet die Standard-Python- DB-API 2.0. Wenn Sie also bei diesem Wechsel zwischen MySQL / PostgreSQL / SQLite / ODBC / JDBC-Treibern usw. bleiben, sollte dies relativ schmerzlos sein.
quelle
Die Antwort von itsadok wurde positiv bewertet, da sie mich auch zur Installation von Python 2.7 führte, die sich hier befindet: http://www.codegood.com/archives/129
quelle
Ich hatte die Installationsprobleme mit MySQLdb satt und versuchte stattdessen pymysql .
Einfache Einstellung;
Und APIs sind ziemlich gleich.
quelle