2013-03-17 23 views
9

benim mac lldb çalışan denenmiş ve başlangıçta bu olsun:lldb piton hatası

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 

Ben VERSIONER_PYTHON_PREFER_32_BIT=yes ama bu hata görünmeye devam ortam değişkeni ekleyerek çalıştı. Lldb'nin Mac ana bilgisayarından farklı bir python ortamı kullandığını düşünürdüm, bu yüzden 32bit modunu kullanmak için değişikliği nerede yapabilirim? Teşekkürler.

GÜNCELLEME:

Bir arch -i386 lldb yaptım ve 32-bit çalışır. 64-bit çalışır hale getirmek için, OS X için bir python readline 64-bit bir sürümünü yükledim ama termios ve time gibi yerel python kitaplıkları ile daha fazla sorun var. Bu yüzden python 2.7.3 64-bit yükleyici DMG dosyasını indirdim ve ikili dosyasını kurdum; şimdi lldb, nihayet 10.8 dağ aslanı üzerinde 64 bit çalışıyor. Teşekkürler.

+0

Bu hatayı bir cordova çalıştırması ios'da gördükten sonra bu soruyu buldum. Yapımı fiziksel cihazım için etkilemiyor gibi görünmüyordu. – theblang

cevap

3

Sisteminizde bir noktada /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so yüklüyorsanız (Mac OS X 10.7.5 yüklememde göremiyorum, belki de 10.8'de yer alsa da) ve bu dylib yalnızca 32 bittir. . Sisteminizde

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

ile onaylayabilirsiniz. Lldb'yi 32-bit kipte de çalıştırmaya zorlayabilirsiniz (dağıtım ikilisi 32-/64-evrensel olarak üretilmiştir) ancak bunun yerine gerçekten ihtiyacınız olmadıkça 32-bitlik sadece readline.so'u sisteminizden kaldırmanızı tavsiye ederim.

+0

Teşekkürler @Jason, burada 32-bit lldb çalışıyor. Python komutlarını yorumlamak için LLDB'de Readline gerekli, sanırım .so dosyası taşımayan bir ithalat modülünde hata bulunamadı .. – gigasai

+1

İlginç. Biraz daha fazla dürttüm ve 10.7.5 sistemimde Python çerçevesi '/ Sistem/Kütüphane/Çerçeveler/Python.framework' ve bu çerçevede' readline.so' 2 yönlü evrenseldir. Hala geçmişte problemin neden olduğu bir noktaya bir paket kurduğunuzu düşünüyorum;) ama eğer lldb'yi 32 bit olarak sizin için çalıştırıyorsanız, bunun iyi olması gerekir. –

+12

Ben 'altı' kurarak sorunu çözmek için yönetmek; 'pip altı' yükleyin. – Oleander