Was meinst du mit "kann nicht tippen"? Etwas hindert Sie physisch daran, die Taste b zu drücken, es sei denn, Sie drücken auch die Umschalttaste? Oder hat das Drücken der Taste keine Auswirkung? Oder erhalten Sie eine Fehlermeldung, wenn Sie eine Zeile verwenden, die nur "b" enthält?
Joachim Sauer
Was genau ? Was genau machst / tippst du ein, was genau passiert und was genau ist die Fehlermeldung (falls es eine gibt)?
Wenn keine anderen Buchstaben betroffen sind, klingt dies wie ein Hardwareproblem mit Ihrer Tastatur und sollte auf Super User migriert werden.
Pavium
Wenn Sie den Buchstaben "b" drücken, haben Sie keinen Effekt und geben Sie nicht den Buchstaben "b" ein, aber wenn ich den Buchstaben "B" drücke (Umschalt + b), geben Sie den Buchstaben "B" in die Konsole ein
+1 Ich habe gestern gerade Python von Homebrew installiert und bin heute Morgen auf dieses Problem gestoßen. Meine Python-Startdatei wurde aktualisiert und alles ist wieder gut. Es ist eine sehr spezifische (und äußerst merkwürdige) Nebenwirkung.
Seth
2
Erstens geschah dies erst, als ich Python 2.7.1 auf 2.7.3 aktualisierte. Das heißt, das Update steht auf dem Spiel:
alte Zeile:
if(sys.platform == 'darwin'): #FIX
Neue Zeile:
if(sys.platform == 'darwin') and 'libedit' in readline.__doc__: #FIX
Der vollständige Code in meinem ~ / .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
Ich habe das gleiche Problem. Dies geschieht, wenn Sie die MacPorts-Version von Python in Snow Leopard verwenden.
Ich sehe dieses Problem nicht in Apples Python, das mit Mac OS X geliefert wird. Daher sollte die Problemumgehung darin bestehen, auf die PYTHONPATHMacPorts-Pakete zu verweisen:
Apple geht davon aus, dass seine Version bei Upgrades und anderen Funktionen unverändert bleibt. Stattdessen wird empfohlen, dass Sie eine lokale Version entweder unter /optoder in Ihrem Home-Ordner installieren, wenn Sie Python aktualisieren oder erweitern möchten .
Ich habe auch das gleiche Problem und verwende nicht die MacPorts-Version von Python.
Ich verwende die neueste Version von vpythonVisual Python von www.vpython.org unter Mac OX X Lion, das im neuesten MacBook Air (Generation 3) ausgeführt wird.
Ich habe vpython mit der neuesten Binärdatei und den Anweisungen installiert. Es wird mit einem Installationsprogramm geliefert, sodass Sie mit der Maus klicken können. Dies ist eine modifizierte Version von Python 2.7.1. Es ist eine 32-Bit-Version. (Ich glaube, sie haben es nicht auf 64 Bit portiert). Ich habe dann VPython-Mac-Py2.7-5.71 installiert. Ich folgte mit scipy von www.scipy.org und matplotlib von matplotlib.sourceforge.net. Alle diese Installationen verwenden ein Installationsprogramm.
Wenn ich Python aus dem Entwicklungstool Idle oder der Vpython-Variante Vidle starte, habe ich keine Probleme. Wenn ich ein Terminal öffne und Python über eine Bash-Shell ausführe, erkennt die Shell die Taste "b" auf der Tastatur nicht. Es gibt Ihnen einen "Glockenton", anstatt das "Zeichen b" einzugeben. Sie können jedoch den Buchstaben 'B' eingeben. Es sieht so aus, als wäre dieser Schlüssel einem falschen, nicht angezeigten 'Zeichen' zugeordnet, möglicherweise dem 'Glocken'-Zeichen im alten ASCII-Code.
Ich habe versucht, die Emulation in xterm, vt100, vt102 zu ändern. Ich habe auch mit verschiedenen Codierungsschemata gespielt, wie zum Beispiel mit UTF-8. Ich habe auch verschiedene Kombinationen von Spezialtasten wie Befehl-B usw. gedrückt. Nichts hat funktioniert.
Meine einzige Problemumgehung besteht darin, Skripte im Leerlauf oder im Leerlauf zu schreiben.
Ich habe ein bisschen mehr daran gearbeitet ... es sieht so aus, als hätten andere ähnliche Probleme mit anderen Python-Schnittstellen. In meinem System habe ich eine .pythonrc.py-Datei, die beim Start von Python analysiert wird (auf die PYTHONSTARTUP zeigt). In dieser Datei werden zwei Module rlcompleter und readline geladen. Anschließend wird readline.parse_and_bind ("bind -v") aufgerufen. Dieser Aufruf initiiert das Readline-Modul, indem die Bindungen aus der Shell kopiert werden (Sie können Ihre sehen, indem Sie in die Bash-Shell gehen und 'bind -v' eingeben (keine Anführungszeichen)). Eine davon muss das Problem verursachen. Wenn ich die Zeile kommentiere (# davor stellen), verschwindet das Problem.
ga mercier
1
Sie können Ihren Beitrag so bearbeiten , dass er das Lesen erleichtert.
Antworten:
Die problematische Linie in Ihrem
.pythonstartup
ist so etwas wie:Dies
.pythonstartup
wird es beheben ...quelle
Erstens geschah dies erst, als ich Python 2.7.1 auf 2.7.3 aktualisierte. Das heißt, das Update steht auf dem Spiel:
alte Zeile:
Neue Zeile:
Der vollständige Code in meinem ~ / .pythonrc
quelle
Ich habe das gleiche Problem. Dies geschieht, wenn Sie die MacPorts-Version von Python in Snow Leopard verwenden.
Ich sehe dieses Problem nicht in Apples Python, das mit Mac OS X geliefert wird. Daher sollte die Problemumgehung darin bestehen, auf die
PYTHONPATH
MacPorts-Pakete zu verweisen:(oder eine andere Python-Version) und verwenden Sie Apples Python.
quelle
Leider ist die Problemumgehung nicht sinnvoll.
Apple geht davon aus, dass seine Version bei Upgrades und anderen Funktionen unverändert bleibt. Stattdessen wird empfohlen, dass Sie eine lokale Version entweder unter
/opt
oder in Ihrem Home-Ordner installieren, wenn Sie Python aktualisieren oder erweitern möchten .Ich habe auch das gleiche Problem und verwende nicht die MacPorts-Version von Python.
Ich verwende die neueste Version von
vpython
Visual Python von www.vpython.org unter Mac OX X Lion, das im neuesten MacBook Air (Generation 3) ausgeführt wird.Ich habe vpython mit der neuesten Binärdatei und den Anweisungen installiert. Es wird mit einem Installationsprogramm geliefert, sodass Sie mit der Maus klicken können. Dies ist eine modifizierte Version von Python 2.7.1. Es ist eine 32-Bit-Version. (Ich glaube, sie haben es nicht auf 64 Bit portiert). Ich habe dann VPython-Mac-Py2.7-5.71 installiert. Ich folgte mit scipy von www.scipy.org und matplotlib von matplotlib.sourceforge.net. Alle diese Installationen verwenden ein Installationsprogramm.
Wenn ich Python aus dem Entwicklungstool Idle oder der Vpython-Variante Vidle starte, habe ich keine Probleme. Wenn ich ein Terminal öffne und Python über eine Bash-Shell ausführe, erkennt die Shell die Taste "b" auf der Tastatur nicht. Es gibt Ihnen einen "Glockenton", anstatt das "Zeichen b" einzugeben. Sie können jedoch den Buchstaben 'B' eingeben. Es sieht so aus, als wäre dieser Schlüssel einem falschen, nicht angezeigten 'Zeichen' zugeordnet, möglicherweise dem 'Glocken'-Zeichen im alten ASCII-Code.
Ich habe versucht, die Emulation in xterm, vt100, vt102 zu ändern. Ich habe auch mit verschiedenen Codierungsschemata gespielt, wie zum Beispiel mit UTF-8. Ich habe auch verschiedene Kombinationen von Spezialtasten wie Befehl-B usw. gedrückt. Nichts hat funktioniert.
Meine einzige Problemumgehung besteht darin, Skripte im Leerlauf oder im Leerlauf zu schreiben.
Ich hoffe, dies hilft, das Problem zu klären.
quelle