So erzwingen Sie die Verwendung von 64-bit-python auf dem Mac OS X?
Bekam ich die folgende Fehlermeldung beim kompilieren sip-mit --arch x86_64-option.
prosseek:siplib smcho$ python -c 'import sip; sip print' Traceback (most recent call last): File "", line 1, in ImportError: dlopen(./sip.so, 2): kein passendes Bild gefunden. Habe: ./sip.also: mach-o, aber falsche Architektur
Fand ich, dass die vordefinierte Mac-OS-X-python (snow leopard) ist universell, und es nicht erhalten, die 64-bit-Bibliothek. Ich denke, es läuft auf 32-bit-Modus.
Datei /usr/bin/python /usr/bin/python: Mach-O universal binary mit 3 Architekturen /usr/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64 /usr/bin/python (for architecture i386): Mach-O executable i386 /usr/bin/python (für Architektur ppc7400): Mach-O executable ppc
prosseek:siplib smcho$ Datei sip.so sip.also: Mach-O 64-bit bundle x86_64
Wie kann ich erzwingen, python laufen auf der 64-bit-Modus? Wenn ich den gleichen code auf Textmate gibt es kein problem. So, ich denke, Textmate, sollte die Ausführung auf 64-bit-Modus sowieso.
Hinzugefügt
- Dieser link zeigt, wie zu identifizieren, wenn eine python, die ich gelaufen bin ist 32bit oder 64bit. Und ich habe meine python 32 bit.
- Dieser link zeigt, wie 32/64bit python. Aber es funktioniert nicht für mich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie es mit Bogen(1), und versorgen die bestimmte version von Python:
Eigentlich sollte das system wählen, das erste geeignete Architektur für Sie. Als
Wenn das
python
irgendwie wählt 2.5, dann können Sie nicht verwenden, 64-bit, aber wenn es wählt 2.6 dann die x86_64-Variante sollte automatisch ausgewählt werden, wie unten kommentiert. Wenn es ersteres ist, versuchen Siepython_select
und ändern Sie die version auf 2.6./usr/bin
bewusst sein, dass die Apple-dokumentierte Weg der Kontrolle ist das anders und könnte sich in Zukunft ändern. Der dokumentierte Weg beinhaltet die Verwendung derpython
Befehl und entweder einstellen derVERSIONER_PYTHON_PREFER_32_BIT
env-variable oder dem ändern einer Standard-plist. Sehenman 1 python
für mehr info. Auch für die anderen pythons, wie die MacPorts oder python.org installer pythons, die einfacharch
Methode nicht für die Arbeit pythons vor 2.7 (oder 3.2).Okay, WIRKLICH vorsichtig sein, wenn Sie dies tun, es ist zu verlangen, dass andere Dinge auch 64-bit. Plötzlich, wenn mod_python funktioniert nicht, dann müssen Sie den apache neu kompilieren. Dann werden alle Ihre python-Modulen wie tkinter/tix. Wenn Sie auf 10.5 wie mir, gehen Sie nicht dort Leben nur mit 32-bit für es.
Und wenn Sie nicht wissen, über http://www.macports.org/ dann denken Sie daran, es ist deine Freundin. 🙂