Estou com um problema com minha letra "b" no shell Python no OS X. Não consigo digitar "b", mas "B" funcionou bem.
Como posso resolver este problema?
Estou com um problema com minha letra "b" no shell Python no OS X. Não consigo digitar "b", mas "B" funcionou bem.
Como posso resolver este problema?
Respostas:
A linha problemática no seu .pythonstartup
é algo como:
readline.parse_and_bind("bind ^I rl_complete") # darwin libedit
Isso .pythonstartup
irá corrigi-lo ...
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")
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 PYTHONPATH
apontar os pacotes do MacPorts:
/opt/local/lib/python/site-packages:/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/
(ou uma versão diferente do Python) e use o Python da Apple.
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.