2013-03-17 9 views
9

versuchte ich lldb auf meinem Mac läuft und erhalten diese beim Start:LLDB Python Fehler

Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
    File "/System/Library/PrivateFrameworks/LLDB.framework/Versions/A/Resources/Python/lldb/embedded_interpreter.py", line 1, in <module> 
    import readline 
ImportError: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so: no appropriate 64-bit architecture (see "man python" for running in 32-bit mode) 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
NameError: name 'run_one_line' is not defined 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
NameError: name 'run_one_line' is not defined 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
NameError: name 'run_one_line' is not defined 

Ich habe versucht, die Umgebungsvariable Hinzufügen VERSIONER_PYTHON_PREFER_32_BIT=yes aber dieser Fehler immer noch angezeigt wird. Ich würde annehmen, dass die lldb eine andere Python-Umgebung als ihren Mac-Host verwendet, also wo mache ich die Änderung, um sie 32-Bit-Modus verwenden zu lassen? Vielen Dank.

UPDATE:

Ich habe eine arch -i386 lldb und es funktioniert in 32-Bit. Damit es in 64-Bit funktioniert, habe ich eine 64-Bit-Version von python readline für OS X installiert, aber mehr Probleme mit nativen Python-Bibliotheken wie termios und time. So habe ich heruntergeladen Python 2.7.3 64-Bit-Installer DMG-Datei und installiert seine Binärdatei; jetzt arbeitet lldb in 64 bit endlich auf meinem 10,8 mountain lion. Vielen Dank.

+0

Ich habe diese Frage gefunden, nachdem ich diesen Fehler auf einem 'cordova run ios' gesehen habe. Es schien nicht den Build zu beeinflussen, der es zu meinem physischen Gerät macht. – theblang

Antwort

3

Es sieht so aus, als ob Sie irgendwann auf Ihrem System /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so installiert haben (ich sehe es nicht auf meiner Mac OS X 10.7.5 Installation, obwohl es in 10.8 enthalten ist), und dass dylib nur 32-Bit ist . Sie können mit

file /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so 

auf Ihrem System bestätigen. Sie könnten versuchen, lldb auch im 32-Bit-Modus zu betreiben (das Distributions-Binary ist 32-/64-universal), aber stattdessen würde ich empfehlen, das 32-Bit-Only readline.so von Ihrem System zu entfernen, es sei denn, Sie benötigen es dort wirklich.

+0

Danke @Jason, läuft lldb in 32-Bit funktioniert hier. Readline wird in LLDB benötigt, um Python-Befehle zu interpretieren. Ich denke, das Verschieben der .so-Datei führte zu einem Fehler im Importmodul. – gigasai

+1

Interessant. Ich stocherte ein wenig mehr herum und auf meinem 10.7.5-System befindet sich das Python-Framework in '/ System/Library/Frameworks/Python.framework' und das' readline.so' in diesem Framework ist 2-way universal. Ich denke immer noch, dass Sie ein Paket an einem Punkt in der Vergangenheit installiert haben, der das Problem verursacht;) aber wenn lldb als 32-Bit-Start für Sie funktioniert, sollte es in Ordnung sein. –

+12

Ich schaffe es, das Problem zu beheben, indem ich "sechs" installiere; 'Pip installieren sechs'. – Oleander