Frage

Ich habe gerne mit Django und MySQL in der Entwicklung auf einer existierenden Maschine mit OS X 10.4 Tiger und haben 2,6 eine ähnliche Umgebung in 10.5 Leopard auf einem neuen 64-Bit-MacBook, mit einem Arbeits MySQL und Python einrichten. 4.

Doch nun möchte ich ihnen kommunizieren, easy_install MySQL-python ld warnings gab, dass die file is not of the required architecture, das führte mich mein Python zu testen, installieren 2.4.6 (aus dem Mac OS X Disk-image ):

>>> import sys
>>> sys.maxint
2147483647

Ah. Also mein Python erscheint installieren, um zu sein 32-Bit- und (ich glaube?) Nicht installieren MySQL MySQL-Python für meinen 64-bit. Es gibt viele Hacks gibt für MySQL-Python auf OS X (meist 1.2.2), aber - nach Stunden des Lesens - ich bin mir ziemlich sicher, dass sie diese Architektur Mismatch nicht beheben. Also ich bin stecken, weil ich kann nicht entscheiden, ob sie:

Also meine Fragen für jeden, der dieses Problem gestoßen sind:

  1. Ist die Installation von 64-Bit-Python auf OS X 10.5 Mühe wert mit?
  2. Wenn ja, (naiv, faul Frage!), Wie die beiden erforderlichen Argumente kombiniert?
  3. Wenn ich überspringe entlang nur in 32-Bit (wie auf meinem Arbeits Setup), was bin ich dabei?

Ich bin nach einer stressfreien installieren, das ist einfach auf einem anderen Rechner (möglich die Studenten) zu reproduzieren, so dass ich wirklich Ihre Meinung begrüßen würde, bitte!

War es hilfreich?

Lösung

Ich poste hier diese falls jemand findet diese Seite und muss eine Antwort ...

Lösung: entfernen die MySQL 64-Bit installieren (ändern die unterhalb Ihrer MySQL-Versionsnummer übereinstimmen):

cd /usr/local
sudo rm -rf mysql-5.1.41-osx10.5-x86_64
rm -r mysql
cd /Library/Receipts/
rm -r mysql-5.1.41-osx10.5-x86_64.pkg

Installieren Sie das neueste 32-Bit-MySQL-Paket aus der Downloads und set it up nach Bedarf .

Entfernen MySQL-Python mit:

easy_install -m MySQL-python

löschen Sie dann das Ei in site-packages und stellen Sie sicher, easy_install -m das Paket Zeile in der easy-install.pth Datei entfernt es.

Starten Sie MySQL, dann neu installieren MySQL-Python (stellen Sie sicher, dass Sie die neueste Version - 1.2.3 - zum Zeitpunkt des Schreibens): easy_install MySQL-python

Test it:

>>> import MySQLdb

Für mich gelöst, dass das Problem. Keine Notwendigkeit zu bearbeiten _mysql.c ( wie =" http://davidmichaelthompson.com/2008/02/18/notes-installing-django-python-mysql-on-os-x/ "rel =" nofollow noreferrer "> MySQL-python 1.2.2 ) oder Durcheinander mit anderen Einstellungen.

wenn Sie sie brauchen (wenn über das fehlschlägt, oder wenn Sie wirklich einen 64-Bit installiert werden sollen, um versuchen), hier sind einige der Links verwendet, während diese die Erforschung:

Aber diese beachten Sie:

  

", wenn Sie 64 gehen, dann werden Sie müssen   jede einzelne Sache neu kompilieren, dass   wirkt mit Python, mysql und   Apache zu arbeiten, wie ein 64-Bit-arch   Programm "

Und für jedermann auf Snow Leopard:

Schließlich wird der MacPython 2.7 Installer umfasst nun 64 Bit. Sehen Sie diesen Beitrag für die Unterschiede zwischen Laufen 64 und / oder 32-Bit-.

Andere Tipps

fand ich die folgenden Schritte (mit Snow Leopard) hatte mir 64-Bit-MySQL und 64-Bit-Python (auf Anfang 2011 Macbook Pro)

  1. Installieren Xcode
  2. Install 64-Bit-MySQL
  3. Installieren Sie die neuesten Python
  4. Installieren easy_install

    Herunterladen und Installieren von entsprechendem Ei aus: http://pypi.python.org/pypi/setuptools und dann den Shell-Skript (in meinem Fall ...) lief
    sudo sh Setuptools-0.6c11-py2.6.egg

  5. Installieren Sie die MySQLdb Python-Bibliothek

    export PATH = $ PATH: / usr / local / mysql / bin /
    sudo easy_install MySQL-Python

  6. Ändern ~ / .profile die folgenden Zeilen enthalten:

    export VERSIONER_PYTHON_PREFER_32_BIT = no ja
    Export VERSIONER_PYTHON_PREFER_64_BIT =

  7. Machen Sie die libmysqlclient.18.dylib verfügbar

    sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top