ฉันมีปัญหากับตัวอักษร "b" ของฉันใน Python shell ใน OS X ฉันไม่สามารถพิมพ์ "b" ได้ แต่ "B" ทำงานได้ดี
ฉันจะแก้ปัญหานี้ได้อย่างไร
ฉันมีปัญหากับตัวอักษร "b" ของฉันใน Python shell ใน OS X ฉันไม่สามารถพิมพ์ "b" ได้ แต่ "B" ทำงานได้ดี
ฉันจะแก้ปัญหานี้ได้อย่างไร
คำตอบ:
บรรทัดปัญหาของคุณ.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")
ครั้งแรกสิ่งนี้ไม่ได้เกิดขึ้นจนกว่าฉันจะอัปเดต python 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
ฉันมีปัญหาเดียวกัน สิ่งนี้จะเกิดขึ้นเมื่อคุณใช้ Python ใน Snow Leopard เวอร์ชัน MacPorts
ฉันไม่เห็นปัญหานี้ใน Python ของ Apple ที่มาพร้อมกับ Mac OS X ดังนั้นวิธีแก้ปัญหาควรกำหนดPYTHONPATH
ให้ชี้ไปที่แพ็คเกจของ MacPorts:
/opt/local/lib/python/site-packages:/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/
(หรือ Python เวอร์ชั่นอื่น) และใช้ Python ของ Apple
น่าเสียดายที่การแก้ปัญหาไม่ใช่วิธีที่ฉลาด
Apple ถือว่ารุ่นนั้นไม่เปลี่ยนแปลงเมื่อทำการอัพเกรดและฟังก์ชั่นอื่น ๆ แต่ขอแนะนำว่าถ้าคุณต้องการอัพเกรดหลามหรือขยายมันให้คุณติดตั้งเวอร์ชันในเครื่องไม่ว่าจะเป็นภายใต้/opt
หรือโฟลเดอร์บ้านของคุณ
ฉันมีปัญหาเดียวกันและฉันไม่ได้ใช้ python เวอร์ชั่นของ MacPorts
ฉันใช้vpython
visual python เวอร์ชันล่าสุดจากwww.vpython.orgภายใต้ Mac OX X Lion ที่ทำงานใน MacBook Air รุ่นล่าสุด (รุ่น 3)
ฉันติดตั้ง vpython โดยใช้ไบนารีล่าสุดและใช้คำแนะนำ มันมาพร้อมกับตัวติดตั้งดังนั้นมันจึงเป็นจุดและคลิก นี่เป็น Python 2.7.1 ที่แก้ไขแล้ว เป็นรุ่น 32 บิต (ฉันเชื่อว่าพวกเขาไม่ได้ย้ายไปที่ 64 บิต) ฉันติดตั้ง VPython-Mac-Py2.7-5.71 แล้ว ฉันติดตามสิ่งนี้โดย scipy จากwww.scipy.orgและ matplotlib จากmatplotlib.sourceforge.netการติดตั้งทั้งหมดเหล่านี้ใช้โปรแกรมติดตั้ง
เมื่อฉันใช้ python จากเครื่องมือในการพัฒนา, idle, หรือตัวแปร vpython, vidle, ฉันไม่มีปัญหา ถ้าฉันเปิดเทอร์มินัลและเรียกใช้หลามจากเปลือก bash เชลล์จะไม่รู้จักคีย์ "b" ในแป้นพิมพ์ มันจะให้เสียง 'ระฆัง' แทนการพิมพ์ 'ตัวอักษร b' อย่างไรก็ตามคุณสามารถป้อนตัวอักษร 'B' ดูเหมือนว่าคีย์นี้จะถูกแมปกับอักขระ 'ไม่ถูกต้อง' ที่ไม่ปรากฏซึ่งอาจเป็นอักขระ 'เบลล์' ในรหัส ASCII เก่า
ฉันลองเปลี่ยนการจำลองเป็น xterm, vt100, vt102 ฉันยังเล่นด้วยรูปแบบการเข้ารหัสที่แตกต่างกันเช่นเพียงแค่ใช้ UTF-8 ฉันยังกดปุ่มพิเศษต่าง ๆ เช่น command-b เป็นต้นซึ่งไม่มีอะไรทำงาน
วิธีแก้ปัญหาเดียวของฉันคือการเขียนสคริปต์ไม่ได้ใช้งานหรือ vidle
ฉันหวังว่าสิ่งนี้จะช่วยชี้แจงปัญหา