Ho un problema con la mia lettera "b" nella shell Python in OS X. Non riesco a digitare "b", ma "B" ha funzionato bene.
Come posso risolvere questo problema?
Ho un problema con la mia lettera "b" nella shell Python in OS X. Non riesco a digitare "b", ma "B" ha funzionato bene.
Come posso risolvere questo problema?
Risposte:
La linea problematica nel tuo .pythonstartup
è qualcosa di simile:
readline.parse_and_bind("bind ^I rl_complete") # darwin libedit
Questo .pythonstartup
lo risolverà ...
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")
Innanzitutto, ciò non è accaduto fino a quando non ho aggiornato Python da 2.7.1 a 2.7.3. Detto questo, la correzione è sulla linea:
vecchia linea:
if(sys.platform == 'darwin'): #FIX
nuova linea:
if(sys.platform == 'darwin') and 'libedit' in readline.__doc__: #FIX
Il codice completo nel mio ~ / .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
Ho lo stesso problema. Questo accade quando si utilizza la versione MacPorts di Python in Snow Leopard.
Non vedo questo problema in Python di Apple fornito con Mac OS X. Quindi, la soluzione alternativa dovrebbe essere quella di impostare il PYTHONPATH
puntamento ai pacchetti di MacPorts:
/opt/local/lib/python/site-packages:/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/
(o una versione diversa di Python) e usa Python di Apple.
Sfortunatamente, la soluzione non è saggia.
Apple presume che la sua versione rimanga invariata quando si eseguono aggiornamenti e altre funzioni. Invece, se si desidera aggiornare Python o espanderlo, si consiglia di installare una versione locale, nella /opt
cartella principale o nella cartella principale.
Ho anche lo stesso problema e non utilizzo la versione di Python per MacPorts.
Sto usando l'ultima versione di vpython
Visual Python da www.vpython.org su Mac OX X Lion in esecuzione sull'ultimo MacBook Air (generazione 3).
Ho installato vpython usando il loro ultimo binario e usando le loro istruzioni. Viene fornito con un programma di installazione, quindi è punta e clicca. Questa è una versione modificata di Python 2.7.1. È la versione a 32 bit. (Credo che non lo abbiano portato a 64 bit). Ho quindi installato VPython-Mac-Py2.7-5.71. L'ho seguito da scipy da www.scipy.org e matplotlib da matplotlib.sourceforge.net Tutte queste installazioni usano un programma di installazione.
Quando eseguo python dal loro strumento di sviluppo, inattivo o dalla variante vpython, vidle, non ho problemi. Se apro un terminale ed eseguo Python da una shell bash, la shell non riconoscerà il tasto "b" sulla tastiera. Ti darà un suono di "campana", invece di digitare il "carattere b". Tuttavia, puoi inserire la lettera 'B'. Sembra che questa chiave sia mappata su un "carattere" non visualizzato errato, possibilmente il carattere "campana" nel vecchio codice ASCII.
Ho provato a cambiare l'emulazione in xterm, vt100, vt102. Ho anche giocato con diversi schemi di codifica come solo usando UTF-8. Ho anche premuto diverse combinazioni di tasti speciali come command-b ecc. Niente ha funzionato.
La mia unica soluzione è scrivere script in idle o vidle.
Spero che questo aiuti a chiarire il problema.