У мене є проблема з моїм "б" лист в оболонці Python в OS X. Я не можу ввести "б", але "B" працював нормально.
Як вирішити цю проблему?
У мене є проблема з моїм "б" лист в оболонці Python в OS X. Я не можу ввести "б", але "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
У мене те ж саме. Це відбувається, коли ви використовуєте версію MacPorts Python у Snow Leopard.
Я не бачу цього питання в 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 вважає, що його версія не змінюється при виконанні оновлення та інших функцій. Замість цього рекомендується, якщо ви хочете оновити python або розширити його, щоб встановити локальну версію, або під /opt
або домашню папку.
У мене також є одна і та ж проблема, і я не використовую версію Python для MacPorts.
Я використовую останню версію vpython
, візуальний пітон, від www.vpython.org під Mac OS 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 з їх інструменту розробки, простою, або vpython варіант, vidle, у мене немає проблем. Якщо я відкриваю термінал і запускаю python з оболонки bash, оболонка не розпізнає клавішу "b" на клавіатурі. Це дасть вам звук «дзвінка», замість того, щоб вводити «символ b». Тим не менш, ви можете ввести букву 'B'. Схоже, що цей ключ зіставлено з деяким неправильним не-відображуваним символом, можливо, символом "bell" у старому коді ASCII.
Я спробував змінити емуляцію на xterm, vt100, vt102. Я також грав з різними схемами кодування, наприклад, просто використовуючи UTF-8. Я також натиснув різну комбінацію спеціальних клавіш, таких як command-b і т.д. Нічого не працювало.
Мій єдиний обхідний шлях полягає в тому, щоб писати сценарії від простою або vidle.
Я сподіваюся, що це допоможе з'ясувати проблему.