У меня проблема с моим буквой "b" в оболочке Python в 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 для MacPorts в Snow Leopard.
Я не вижу этой проблемы в Apple Python, которая поставляется с 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
, 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 из их средства разработки, бездействия или из варианта vpython, vidle, у меня нет проблем. Если я открываю терминал и запускаю python из оболочки bash, оболочка не распознает клавишу "b" на клавиатуре. Это даст вам звук "звонка" вместо того, чтобы вводить "символ b". Тем не менее, вы можете ввести букву "B". Похоже, что этот ключ сопоставлен с каким-то неправильным неотображаемым "символом", возможно, "колокольчиком" в старом коде ASCII.
Я попытался изменить эмуляцию на xterm, vt100, vt102. Я также играл с различными схемами кодирования, такими как просто использование UTF-8. Я также нажимал различные комбинации специальных клавиш, таких как command-b и т.д.
Мой единственный обходной путь - писать сценарии бездействия или виджета.
Я надеюсь, что это помогает прояснить проблему.