2009-08-19 6 views
3

Ich versuche, eine Django-Anwendung zu konfigurieren, um mysql zu verwenden.Django für die Verwendung von remote mysql server konfigurieren?

Ich möchte den mysql-Server verwenden, der in meinem Netzwerk verfügbar ist, und möchte keine lokale Kopie installieren.

Aber wenn ich versuche, mysqldb zu installieren, benötigt es mysql_config von Mysql!

Was kann ich tun, wenn ich den mysql-Server auf einem anderen Rechner verwenden möchte?

Versuchte Download der MySQL-Dateien und zeigte auf "mysql_config" und baute mysqldb.

Aber als ich versuchte, mysqldb zu importieren, erhalte ich:

>>> import MySQLdb 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "build/bdist.macosx-10.5-i386/egg/MySQLdb/__init__.py", line 19, in <module> 
    File "build/bdist.macosx-10.5-i386/egg/_mysql.py", line 7, in <module> 
    File "build/bdist.macosx-10.5-i386/egg/_mysql.py", line 6, in __bootstrap__ 
ImportError: dlopen(/tmp/MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg-tmp/_mysql.so, 2): Library not loaded: /usr/local/mysql/lib/libmysqlclient_r.15.dylib 
    Referenced from: /tmp/MySQL_python-1.2.3c1-py2.5-macosx-10.5-i386.egg-tmp/_mysql.so 
    Reason: image not found 

jeden Hinweis auf das, was der Fehler ist?

Dank

+0

Vergessen, die Plattform zu erwähnen. Ich laufe unter Mac OSX. – lud0h

Antwort

3

Endlich habe ich MySQLdb kompiliert, ohne MySQL Server in meinem MacOSX zu installieren.

Die Schritte:

  1. Herunterladen entsprechenden MySQL-Paket (tar) nicht Version installieren und
  2. herunterladen MySQLdb Wrapper von MySQL Python bindings
  3. auspacken
  4. bearbeiten site.cfg MySQLdb entpacken in verweisen auf mysql_config das Verzeichnis, das Sie heruntergeladen haben
  5. Folgen Sie den Anweisungen in MySQLdb (im Wesentlichen bauen & installieren)
  6. Kopieren Sie die Datei libmysqlclient_r.15.dylib aus Ihrem 'mysql/lib' Ordner/usr/local/mysql/lib
  7. Jetzt (vorausgesetzt, Sie Threadsicheres Version gewählt haben) Sie sind bereit MySQLdb mit jedem MySQL-Server verwenden
  8. Sie können die Installation testen mit: Python >>> import MySQLdb
+1

Eine weitere Notiz für jeden, der auf solche Dinge stößt ... die Nummer "15" im libmysqlclient_r.15.Dylib wird sich mit der von Ihnen installierten MySQL-Version ändern. Wenn Sie also aus der Quelle bauen, stellen Sie sicher, dass Sie die richtige MySQL-Version installiert haben (nur ein Zusatz zum "Any MySQL Server" -Teil von # 7). Ich hatte versehentlich ein Problem, wo ich ein MySQLdb .egg baute und es nach libmysqlclient_r.15.dylib suchte, aber mein System hatte nur libmysqlclient_r.16.dylib (und nein, es funktioniert nicht, wenn Sie es gerade umbenennen). Gute Frage ... hat mir geholfen, meinen Bug mit MySQLdb & Pyantasks zu verstehen. Vielen Dank! –

1

Installieren Sie eine vorkompilierte Version des MySQLdb Treiber. Die meisten Linux-Distributionen stellen es in ihren Repositories bereit - zum Beispiel in Debian und Ubuntu heißt es python-mysqldb.

Da dies keine Programmierung erfordert, sollte es am besten zu Superuser verschoben werden.

+1

Oder zu Serverfehler? Dies ist eher wie ein Serverkonfigurationsproblem –

+0

Basierend auf Hinweis versucht, eine vorkompilierte Version zu finden, konnte aber nicht für Python 2.5 [http://wiki.python.org/moin/MacPython/Packages] – lud0h

2

Sie müssen die Clientbibliotheken von mysql auf dem Computer installieren, auf dem Django ausgeführt wird, damit eine Verbindung zu einem fernen MySQL-Server hergestellt werden kann. Sowohl der normale libmysqlclient als auch der mysql-Treiber von python. Weitere Details hängen von der Plattform ab, auf der Sie diese ausführen.

+0

Thx für die Info gefunden , ist es möglich, MySQL-Client-Bibliotheken zusammen zu bekommen? Ich habe auf der MySQL-Website nachgesehen und nur die Installationspakete gefunden. – lud0h

Verwandte Themen