2013-03-17 12 views
9

मैं पर मेरे मैक lldb चल कोशिश की और स्टार्टअप पर इस मिल:lldb अजगर त्रुटि

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 

मैं वातावरण चर VERSIONER_PYTHON_PREFER_32_BIT=yes लेकिन इस त्रुटि अभी भी दिखाई जोड़ने की कोशिश की। मुझे लगता है कि एलएलडीबी मैक होस्ट की तुलना में एक अलग पायथन पर्यावरण का उपयोग कर रहा है, इसलिए मैं 32 बिट मोड का उपयोग करने के लिए परिवर्तन कहां कर सकता हूं? धन्यवाद।

अद्यतन:

मैं एक arch -i386 lldb किया था और यह 32-बिट में काम करता है। इसे 64-बिट में काम करने के लिए, मैंने ओएस एक्स के लिए पाइथन रीडलाइन का 64-बिट संस्करण स्थापित किया लेकिन देशी पाइथन पुस्तकालयों जैसे termios और time के साथ और अधिक समस्याएं मिलीं। इसलिए मैंने अजगर 2.7.3 64-बिट इंस्टॉलर डीएमजी फ़ाइल डाउनलोड की और इसकी बाइनरी स्थापित की; अब मेरे 10.8 पहाड़ शेर पर 64 बिट में lldb काम करता है। धन्यवाद।

+0

मुझे इस त्रुटि को 'कॉर्डोवा रन आईओएस' पर देखने के बाद यह प्रश्न मिला। ऐसा लगता है कि इसे मेरे भौतिक डिवाइस में बनाने के निर्माण को प्रभावित नहीं किया गया है। – theblang

उत्तर

3

ऐसा लगता है कि आपने अपने सिस्टम पर किसी बिंदु पर /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/readline.so इंस्टॉल किया है (मुझे इसे अपने मैक ओएस एक्स 10.7.5 इंस्टॉलेशन पर नहीं देखा गया है, हालांकि शायद यह 10.8 में शामिल है), और डिलिब केवल 32-बिट बनाया गया है । आप

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

के साथ पुष्टि कर सकते हैं। आप 32-बिट मोड में भी चलाने के लिए lldb को मजबूर करने का प्रयास कर सकते हैं (वितरण बाइनरी 32-/64- सार्वभौमिक बनाया गया है) लेकिन इसके बजाय मैं आपके सिस्टम से उस 32-बिट-केवल readline.so को हटाने की अनुशंसा करता हूं जब तक आपको वास्तव में इसकी आवश्यकता न हो।

+0

धन्यवाद @ जेसन, 32-बिट कार्यों में lldb चल रहा है। मुझे लगता है कि पाइथन आदेशों की व्याख्या करने के लिए एलएलडीबी में रीडलाइन की आवश्यकता है, इसलिए .so फ़ाइल को एक आयात मॉड्यूल को त्रुटि नहीं मिली .. – gigasai

+1

दिलचस्प। मैंने थोड़ा और चारों ओर पोक किया और मेरी 10.7.5 प्रणाली पर पाइथन ढांचा '/ सिस्टम/लाइब्रेरी/फ्रेमवर्क/पायथन.फ्रेमवर्क' में है और उस ढांचे में 'readline.so' 2-तरफा सार्वभौमिक है। मुझे अभी भी लगता है कि आपने अतीत में किसी बिंदु पर एक पैकेज स्थापित किया है जो समस्या पैदा कर रहा है;) लेकिन यदि आपके लिए 32-बिट काम के रूप में lldb लॉन्च करना है, तो यह ठीक होना चाहिए। –

+12

मैं 'छः 'स्थापित करके समस्या को ठीक करने का प्रबंधन करता हूं; 'पाइप स्थापित छह '। – Oleander

संबंधित मुद्दे