Что ты имеешь в виду под «не могу печатать»? Что-то физически мешает вам нажать клавишу b, если вы не нажмете Shift? Или нет никакого эффекта от нажатия кнопки? Или вы получаете сообщение об ошибке, когда в строке содержится только "b"?
Иоахим Зауэр
Что именно ? Что именно вы делаете / вводите, что именно происходит и что именно является сообщением об ошибке (если оно есть)?
Если никакие другие буквы не затрагиваются, это похоже на аппаратную проблему с вашей клавиатурой и должно быть перенесено в Super User.
павильон
При нажатии буквы «b» не действует и не печатается буква «b», но когда я нажимаю букву «B» (Shift + b), в консоли
+1 Я только вчера установил python из homebrew и столкнулся с этой проблемой сегодня утром. Обновил мой файл запуска Python, и все снова хорошо. Это очень специфический (и очень странный) побочный эффект.
Сет
2
Во-первых, этого не произошло, пока я не обновил 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:
Apple предполагает, что ее версия не изменяется при выполнении обновлений и других функций. Вместо этого рекомендуется, чтобы, если вы хотите обновить Python или развернуть его, вы устанавливаете локальную версию, либо в /optвашей , либо в вашей домашней папке.
У меня также есть та же проблема, и я не использую версию Python для MacPorts.
Я использую последнюю версию vpythonvisual 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 и т.д.
Мой единственный обходной путь - писать сценарии бездействия или виджета.
Я работал над этим немного больше ... похоже, у других есть похожие проблемы с другими интерфейсами Python. В моей системе у меня есть файл .pythonrc.py, который анализируется при запуске python (на что указывает PYTHONSTARTUP). В этот файл загружаются два модуля rlcompleter и readline. Затем он вызывает readline.parse_and_bind ("bind -v"). Этот вызов инициализирует модуль readline, копируя привязки из оболочки (вы можете увидеть свои, войдя в оболочку bash и введя «bind -v» (без кавычек)). Один из них должен создать проблему. Если я прокомментирую строку (поставьте # перед ней), проблема исчезнет.
ga mercier
1
Вы можете отредактировать свой пост, чтобы включить его, это может облегчить чтение.
Ответы:
Проблемная строка в вашем
.pythonstartup
что-то вроде:Это
.pythonstartup
исправит это ...источник
Во-первых, этого не произошло, пока я не обновил python 2.7.1 до 2.7.3. Тем не менее, исправление на линии:
старая строка:
новая линия:
Полный код в моем ~ / .pythonrc
источник
У меня такая же проблема. Это происходит, когда вы используете версию Python для MacPorts в Snow Leopard.
Я не вижу этой проблемы в Apple Python, которая поставляется с Mac OS X. Поэтому, обходной путь должен заключаться в установке
PYTHONPATH
указателей на пакеты MacPorts:(или другая версия 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 и т.д.
Мой единственный обходной путь - писать сценарии бездействия или виджета.
Я надеюсь, что это помогает прояснить проблему.
источник