मुझे ओएस एक्स में पायथन शेल में मेरे "बी" पत्र के साथ एक समस्या है। मैं "बी" टाइप नहीं कर सकता, लेकिन "बी" ने ठीक काम किया।
कैसे मैं इस मुद्दे को हल कर सकता हूँ?
मुझे ओएस एक्स में पायथन शेल में मेरे "बी" पत्र के साथ एक समस्या है। मैं "बी" टाइप नहीं कर सकता, लेकिन "बी" ने ठीक काम किया।
कैसे मैं इस मुद्दे को हल कर सकता हूँ?
जवाबों:
आप में समस्याग्रस्त रेखा .pythonstartup
कुछ इस प्रकार है:
readline.parse_and_bind("bind ^I rl_complete") # darwin libedit
यह .pythonstartup
इसे ठीक कर देगा ...
try:
import readline
except ImportError:
print "Module readline not available."
else:
import rlcompleter
if 'libedit' in readline.__doc__:
readline.parse_and_bind("bind ^I rl_complete")
else:
readline.parse_and_bind("tab: complete")
सबसे पहले, यह तब तक नहीं हुआ जब तक मैंने अजगर 2.7.1 से 2.7.3 तक अपडेट नहीं किया। उस ने कहा, लाइन पर तय है:
पुरानी लाइन:
if(sys.platform == 'darwin'): #FIX
नई पंक्ति:
if(sys.platform == 'darwin') and 'libedit' in readline.__doc__: #FIX
मेरा ~ / .pythonrc में पूर्ण कोड
import atexit
import os
try:
import readline
except ImportError:
print "Module readline not available."
else:
import rlcompleter
import sys
if(sys.platform == 'darwin') and 'libedit' in readline.__doc__: #FIX
# OSX
readline.parse_and_bind ("bind ^I rl_complete")
else:
# Linux
readline.parse_and_bind("tab: complete")
historyPath = os.path.expanduser("~/.pyhistory")
def save_history(historyPath=historyPath):
readline.write_history_file(historyPath)
if os.path.exists(historyPath):
readline.read_history_file(historyPath)
atexit.register(save_history)
del atexit, save_history, historyPath
मेरे साथ भी वही दिक्कत है। यह तब होता है जब आप स्नो लेपर्ड में अजगर के मैकपोर्ट्स संस्करण का उपयोग करते हैं।
मैं इस मुद्दे को Apple के पायथन में नहीं देखता जो मैक ओएस एक्स के साथ आता है। इसलिए, PYTHONPATH
मैकपॉर्ट्स के पैकेज की ओर इशारा करते हुए वर्कअराउंड होना चाहिए :
/opt/local/lib/python/site-packages:/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/
(या एक अलग पायथन संस्करण) और Apple के पायथन का उपयोग करें।
दुर्भाग्य से, वर्कअराउंड एक बुद्धिमान नहीं है।
Apple मानता है कि उन्नयन और अन्य कार्यों को करते समय इसका संस्करण अपरिवर्तित है। इसके बजाय, यह अनुशंसा की जाती है कि यदि आप अजगर को अपग्रेड करना चाहते हैं या इसका विस्तार करना चाहते हैं कि आप एक स्थानीय संस्करण स्थापित करते हैं, या तो /opt
अपने घर के नीचे या अपने फ़ोल्डर में।
मेरे पास भी यही समस्या है, और मैं अजगर के मैकपोर्ट्स संस्करण का उपयोग नहीं करता हूं।
मैं नवीनतम मैकबुक एयर (पीढ़ी 3) में चल रहे मैक ओएक्स एक्स लायन के तहत www.vpython.orgvpython
से, विज़ुअल पायथन के नवीनतम संस्करण का उपयोग कर रहा हूं ।
मैंने उनके नवीनतम बाइनरी का उपयोग करके और उनके निर्देशों का उपयोग करते हुए vpython स्थापित किया। यह एक इंस्टॉलर के साथ आता है इसलिए यह बिंदु और क्लिक है। यह पाइथन 2.7.1 का संशोधित संस्करण है। यह 32 बिट संस्करण है। (मेरा मानना है कि उन्होंने इसे 64 बिट्स पर पोर्ट नहीं किया है)। मैंने तब VPython-Mac-Py2.7-5.71 स्थापित किया। मैंने www.scipy.org से माफ़ी और इसके बाद matplotlib.sourceforge.net से matplotlib का पालन किया। ये सभी इंस्टालेशन इंस्टॉलर का उपयोग करते हैं।
जब मैं अजगर को उनके विकास उपकरण, बेकार, या vpython संस्करण, vidle से चलाता हूं, तो मुझे कोई समस्या नहीं है। यदि मैं एक टर्मिनल खोलता हूं और बैश शेल से अजगर चलाता हूं, तो कीबोर्ड कीबोर्ड में "बी" कुंजी को नहीं पहचान पाएगा। यह आपको 'वर्ण बी' टाइप करने के बजाय 'घंटी' की आवाज़ देगा। हालाँकि, आप 'B' अक्षर दर्ज कर सकते हैं। ऐसा लगता है कि यह कुंजी कुछ गलत गैर-प्रदर्शित 'वर्ण' के लिए मैप की गई है, संभवतः पुराने ASCII कोड में 'घंटी' वर्ण है।
मैंने अनुकरण को xterm, vt100, vt102 में बदलने की कोशिश की। मैंने अलग-अलग एन्कोडिंग योजनाओं के साथ भी खेला जैसे कि यूटीएफ -8 का उपयोग करना। मैंने विशेष कुंजियों जैसे कमांड-बी आदि के विभिन्न संयोजन को भी दबाया।
मेरा एकमात्र तरीका निष्क्रिय या विडल से स्क्रिप्ट लिखना है।
मुझे उम्मीद है कि इससे समस्या को स्पष्ट करने में मदद मिलेगी।