O que você quer dizer com "não pode digitar"? Alguma coisa impede você de pressionar a tecla b, a menos que você também pressione Shift? Ou não há efeito de pressionar o botão? Ou você recebe alguma mensagem de erro quando você linha que contém apenas "b"?
Joachim Sauer
O que exatamente ? O que exatamente você está fazendo / digitando, o que exatamente acontece e qual é exatamente a mensagem de erro (se houver)?
Se nenhuma outra letra for afetada, isso soa como um problema de hardware no teclado e deve ser migrado para o Superusuário.
pavium 14/06
Ao pressionar letra "b" não fazer qualquer efeito e não digitar a letra "b", mas quando eu pressionar a letra "B" (Shift + b) em seguida, "B" Tipo de letra na consola
+1 Acabei de instalar o python do homebrew ontem e me deparei com esse problema esta manhã. Atualizei meu arquivo de inicialização python e tudo está bom novamente. É um efeito colateral muito específico (e extremamente estranho).
Seth
2
Primeiro, isso não aconteceu até que eu atualizei o python 2.7.1 para 2.7.3. Dito isto, a correção está em jogo:
linha antiga:
if(sys.platform == 'darwin'): #FIX
nova linha:
if(sys.platform == 'darwin') and 'libedit' in readline.__doc__: #FIX
O código completo em meu ~ / .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
Eu tenho o mesmo problema. Isso acontece quando você usa a versão MacPorts do Python no Snow Leopard.
Não vejo esse problema no Python da Apple, que acompanha o Mac OS X. Portanto, a solução alternativa deve ser PYTHONPATHapontar os pacotes do MacPorts:
Infelizmente, a solução alternativa não é sensata.
A Apple assume que sua versão é inalterada ao fazer atualizações e outras funções. Em vez disso, é recomendável que, se você deseja atualizar o python ou expandi-lo, instale uma versão local, na /optpasta inicial ou na pasta inicial.
Eu também tenho o mesmo problema e não uso a versão MacPorts do python.
Estou usando a versão mais recente do vpython, visual python, de www.vpython.org no Mac OX X Lion em execução no MacBook Air mais recente (geração 3).
Instalei o vpython usando o binário mais recente e usando as instruções. Ele vem com um instalador, portanto, aponte e clique. Esta é uma versão modificada do Python 2.7.1. É uma versão de 32 bits. (Eu acredito que eles não o portaram para 64 bits). Eu instalei o VPython-Mac-Py2.7-5.71. Eu segui isso por scipy em www.scipy.org e matplotlib em matplotlib.sourceforge.net Todas essas instalações usam um instalador.
Quando executo o python da ferramenta de desenvolvimento, ociosa ou da variante vpython, vidle, não tenho problemas. Se eu abrir um terminal e executar python a partir de um shell bash, o shell não reconhecerá a tecla "b" no teclado. Ele emitirá um som de 'campainha', em vez de digitar o 'caractere b'. No entanto, você pode inserir a letra 'B'. Parece que essa chave está mapeada para algum 'caractere' não exibido incorreto, possivelmente o caractere 'sino' no código ASCII antigo.
Tentei alterar a emulação para xterm, vt100, vt102. Eu também joguei com diferentes esquemas de codificação, como usar apenas UTF-8. Também pressionei diferentes combinações de teclas especiais, como comando-b etc. Nada funcionou.
Minha única solução alternativa é escrever scripts fora do modo ocioso ou vidle.
Eu trabalhei um pouco mais nisso ... parece que os outros têm problemas semelhantes com outras interfaces python. No meu sistema, tenho um arquivo .pythonrc.py que é analisado quando o python é iniciado (apontado por PYTHONSTARTUP). Neste arquivo, dois módulos são carregados rlcompleter e readline. Em seguida, chama readline.parse_and_bind ("bind -v"). Essa chamada inicia o módulo readline copiando as ligações do shell (você pode ver as suas entrando no shell bash e digitando 'bind -v' (sem aspas)). Um deles deve criar o problema. Se eu comentar a linha (coloque # na frente dela), o problema desaparecerá.
ga Mercier
11
Você pode editar sua postagem para incluir isso, facilitando a leitura.
Respostas:
A linha problemática no seu
.pythonstartup
é algo como:Isso
.pythonstartup
irá corrigi-lo ...fonte
Primeiro, isso não aconteceu até que eu atualizei o python 2.7.1 para 2.7.3. Dito isto, a correção está em jogo:
linha antiga:
nova linha:
O código completo em meu ~ / .pythonrc
fonte
Eu tenho o mesmo problema. Isso acontece quando você usa a versão MacPorts do Python no Snow Leopard.
Não vejo esse problema no Python da Apple, que acompanha o Mac OS X. Portanto, a solução alternativa deve ser
PYTHONPATH
apontar os pacotes do MacPorts:(ou uma versão diferente do Python) e use o Python da Apple.
fonte
Infelizmente, a solução alternativa não é sensata.
A Apple assume que sua versão é inalterada ao fazer atualizações e outras funções. Em vez disso, é recomendável que, se você deseja atualizar o python ou expandi-lo, instale uma versão local, na
/opt
pasta inicial ou na pasta inicial.Eu também tenho o mesmo problema e não uso a versão MacPorts do python.
Estou usando a versão mais recente do
vpython
, visual python, de www.vpython.org no Mac OX X Lion em execução no MacBook Air mais recente (geração 3).Instalei o vpython usando o binário mais recente e usando as instruções. Ele vem com um instalador, portanto, aponte e clique. Esta é uma versão modificada do Python 2.7.1. É uma versão de 32 bits. (Eu acredito que eles não o portaram para 64 bits). Eu instalei o VPython-Mac-Py2.7-5.71. Eu segui isso por scipy em www.scipy.org e matplotlib em matplotlib.sourceforge.net Todas essas instalações usam um instalador.
Quando executo o python da ferramenta de desenvolvimento, ociosa ou da variante vpython, vidle, não tenho problemas. Se eu abrir um terminal e executar python a partir de um shell bash, o shell não reconhecerá a tecla "b" no teclado. Ele emitirá um som de 'campainha', em vez de digitar o 'caractere b'. No entanto, você pode inserir a letra 'B'. Parece que essa chave está mapeada para algum 'caractere' não exibido incorreto, possivelmente o caractere 'sino' no código ASCII antigo.
Tentei alterar a emulação para xterm, vt100, vt102. Eu também joguei com diferentes esquemas de codificação, como usar apenas UTF-8. Também pressionei diferentes combinações de teclas especiais, como comando-b etc. Nada funcionou.
Minha única solução alternativa é escrever scripts fora do modo ocioso ou vidle.
Espero que isso ajude a esclarecer o problema.
fonte