Qu'entendez-vous par «ne peut pas taper»? Quelque chose vous empêche physiquement d'appuyer sur la touche b, sauf si vous appuyez également sur Maj? Ou il n'y a aucun effet à appuyer sur le bouton? Ou vous obtenez un message d'erreur lorsque vous ligne qui contient uniquement "b"?
Joachim Sauer
Quoi exactement ? Que faites-vous / saisissez-vous exactement, que se passe-t-il exactement et quel est exactement le message d'erreur (s'il y en a un)?
Si aucune autre lettre n'est affectée, cela ressemble à un problème matériel avec votre clavier et doit être migré vers Super User.
pavium
Lorsque vous appuyez sur la lettre "b" n'a aucun effet et ne tapez pas la lettre "b" mais lorsque j'appuie sur la lettre "B" (Maj + b), puis sur la lettre "B" dans la console
+1 Je viens d'installer python de homebrew hier et j'ai rencontré ce problème ce matin. Mise à jour de mon fichier de démarrage python et tout va bien à nouveau. C'est un effet secondaire très spécifique (et extrêmement étrange).
Seth
2
Tout d'abord, cela ne s'est produit que lorsque j'ai mis à jour python 2.7.1 à 2.7.3. Cela dit, le correctif est en jeu:
ancienne ligne:
if(sys.platform == 'darwin'): #FIX
nouvelle ligne:
if(sys.platform == 'darwin') and 'libedit' in readline.__doc__: #FIX
Le code complet dans mon ~ / .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
J'ai le même problème. Cela se produit lorsque vous utilisez la version MacPorts de Python dans Snow Leopard.
Je ne vois pas ce problème dans Python d'Apple fourni avec Mac OS X. Ainsi, la solution de contournement devrait être de définir le PYTHONPATHpointage vers les packages MacPorts:
Malheureusement, la solution de contournement n'est pas judicieuse.
Apple suppose que sa version est inchangée lors des mises à niveau et autres fonctions. Au lieu de cela, il est recommandé que si vous souhaitez mettre à niveau python ou le développer, vous installez une version locale, sous /optou dans votre dossier personnel.
J'ai également le même problème et je n'utilise pas la version MacPorts de python.
J'utilise la dernière version de vpythonVisual Python de www.vpython.org sous Mac OX X Lion fonctionnant sur le dernier MacBook Air (génération 3).
J'ai installé vpython en utilisant leur dernier binaire et en suivant leurs instructions. Il est livré avec un programme d'installation donc il suffit de pointer et cliquer. Il s'agit d'une version modifiée de Python 2.7.1. C'est la version 32 bits. (Je crois qu'ils ne l'ont pas porté sur 64 bits). J'ai ensuite installé VPython-Mac-Py2.7-5.71. J'ai suivi ceci par scipy de www.scipy.org et matplotlib de matplotlib.sourceforge.net Toutes ces installations utilisent un programme d'installation.
Lorsque je lance python depuis leur outil de développement, idle, ou la variante vpython, vidle, je n'ai aucun problème. Si j'ouvre un terminal et exécute python à partir d'un shell bash, le shell ne reconnaîtra pas la touche "b" du clavier. Il vous donnera un son de «cloche», au lieu de taper le «caractère b». Cependant, vous pouvez saisir la lettre «B». On dirait que cette clé est mappée à un «caractère» non affiché incorrect, peut-être le caractère «cloche» dans l'ancien code ASCII.
J'ai essayé de changer l'émulation en xterm, vt100, vt102. J'ai également joué avec différents schémas d'encodage comme en utilisant simplement UTF-8. J'ai également appuyé sur différentes combinaisons de touches spéciales comme la commande-b, etc. Rien n'a fonctionné.
Ma seule solution de contournement consiste à écrire des scripts inactifs ou vidle.
J'ai travaillé un peu plus à ce sujet ... on dirait que d'autres ont des problèmes similaires avec d'autres interfaces python. Dans mon système, j'ai un fichier .pythonrc.py qui est analysé au démarrage de python (indiqué par PYTHONSTARTUP). Dans ce fichier, deux modules sont chargés rlcompleter et readline. Il appelle ensuite readline.parse_and_bind ("bind -v"). Cet appel initialise le module readline en copiant les liaisons depuis le shell (vous pouvez voir la vôtre en allant dans le shell bash et en tapant 'bind -v' (sans guillemets)). L'un d'eux doit créer le problème. Si je commente la ligne (placez-la devant.), Le problème disparaît.
ga mercier
1
Vous pouvez modifier votre message pour l'inclure, ce qui pourrait le rendre plus facile à lire.
Réponses:
La ligne problématique dans votre
.pythonstartup
est quelque chose comme:Cela
.pythonstartup
va le réparer ...la source
Tout d'abord, cela ne s'est produit que lorsque j'ai mis à jour python 2.7.1 à 2.7.3. Cela dit, le correctif est en jeu:
ancienne ligne:
nouvelle ligne:
Le code complet dans mon ~ / .pythonrc
la source
J'ai le même problème. Cela se produit lorsque vous utilisez la version MacPorts de Python dans Snow Leopard.
Je ne vois pas ce problème dans Python d'Apple fourni avec Mac OS X. Ainsi, la solution de contournement devrait être de définir le
PYTHONPATH
pointage vers les packages MacPorts:(ou une version Python différente) et utilisez le Python d'Apple.
la source
Malheureusement, la solution de contournement n'est pas judicieuse.
Apple suppose que sa version est inchangée lors des mises à niveau et autres fonctions. Au lieu de cela, il est recommandé que si vous souhaitez mettre à niveau python ou le développer, vous installez une version locale, sous
/opt
ou dans votre dossier personnel.J'ai également le même problème et je n'utilise pas la version MacPorts de python.
J'utilise la dernière version de
vpython
Visual Python de www.vpython.org sous Mac OX X Lion fonctionnant sur le dernier MacBook Air (génération 3).J'ai installé vpython en utilisant leur dernier binaire et en suivant leurs instructions. Il est livré avec un programme d'installation donc il suffit de pointer et cliquer. Il s'agit d'une version modifiée de Python 2.7.1. C'est la version 32 bits. (Je crois qu'ils ne l'ont pas porté sur 64 bits). J'ai ensuite installé VPython-Mac-Py2.7-5.71. J'ai suivi ceci par scipy de www.scipy.org et matplotlib de matplotlib.sourceforge.net Toutes ces installations utilisent un programme d'installation.
Lorsque je lance python depuis leur outil de développement, idle, ou la variante vpython, vidle, je n'ai aucun problème. Si j'ouvre un terminal et exécute python à partir d'un shell bash, le shell ne reconnaîtra pas la touche "b" du clavier. Il vous donnera un son de «cloche», au lieu de taper le «caractère b». Cependant, vous pouvez saisir la lettre «B». On dirait que cette clé est mappée à un «caractère» non affiché incorrect, peut-être le caractère «cloche» dans l'ancien code ASCII.
J'ai essayé de changer l'émulation en xterm, vt100, vt102. J'ai également joué avec différents schémas d'encodage comme en utilisant simplement UTF-8. J'ai également appuyé sur différentes combinaisons de touches spéciales comme la commande-b, etc. Rien n'a fonctionné.
Ma seule solution de contournement consiste à écrire des scripts inactifs ou vidle.
J'espère que cela aide à clarifier le problème.
la source