Tengo un problema con mi letra "b" en Python shell en OS X. No puedo escribir "b", pero "B" funcionó bien.
¿Cómo puedo resolver este problema?
Tengo un problema con mi letra "b" en Python shell en OS X. No puedo escribir "b", pero "B" funcionó bien.
¿Cómo puedo resolver este problema?
Respuestas:
La línea problemática en su .pythonstartup
es algo como:
readline.parse_and_bind("bind ^I rl_complete") # darwin libedit
Esto .pythonstartup
lo arreglará ...
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")
Primero, esto no sucedió hasta que actualicé Python 2.7.1 a 2.7.3. Dicho esto, la solución está en juego:
línea antigua:
if(sys.platform == 'darwin'): #FIX
nueva línea:
if(sys.platform == 'darwin') and 'libedit' in readline.__doc__: #FIX
El código completo en mi ~ / .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
Tengo el mismo problema. Esto sucede cuando usa la versión MacPorts de Python en Snow Leopard.
No veo este problema en Python de Apple que viene con Mac OS X. Por lo tanto, la solución debería ser PYTHONPATH
apuntar a los paquetes de MacPorts:
/opt/local/lib/python/site-packages:/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/
(o una versión diferente de Python) y use Python de Apple.
Desafortunadamente, la solución no es acertada.
Apple supone que su versión no cambia cuando se realizan actualizaciones y otras funciones. En cambio, se recomienda que si desea actualizar Python o expandirlo, instale una versión local, ya sea bajo /opt
o en su carpeta de inicio.
También tengo el mismo problema y no uso la versión MacPorts de python.
Estoy usando la última versión de vpython
, visual python, de www.vpython.org en Mac OX X Lion que se ejecuta en la última MacBook Air (generación 3).
Instalé vpython usando su último binario y sus instrucciones. Viene con un instalador, por lo que es apuntar y hacer clic. Esta es una versión modificada de Python 2.7.1. Es la versión de 32 bits. (Creo que no lo han portado a 64 bits). Luego instalé VPython-Mac-Py2.7-5.71. Seguí esto por scipy de www.scipy.org y matplotlib de matplotlib.sourceforge.net Todas estas instalaciones usan un instalador.
Cuando ejecuto python desde su herramienta de desarrollo, inactivo, o la variante vpython, vidle, no tengo problemas. Si abro una terminal y ejecuto Python desde un shell bash, el shell no reconocerá la tecla "b" en el teclado. Le dará un sonido de "campana", en lugar de escribir el "carácter b". Sin embargo, puede ingresar la letra 'B'. Parece que esta tecla está asignada a algún 'carácter' incorrecto no mostrado, posiblemente el carácter 'campana' en el código ASCII antiguo.
Intenté cambiar la emulación a xterm, vt100, vt102. También jugué con diferentes esquemas de codificación, como usar UTF-8. También presioné una combinación diferente de teclas especiales como command-b, etc. Nada funcionó.
Mi única solución es escribir scripts en inactivo o vidle.
Espero que esto ayude a aclarar el problema.