我在OS X的Python Shell中遇到“ b”字母问题。我无法键入“ b”,但“ B”工作正常。
我该如何解决这个问题?
我在OS X的Python Shell中遇到“ b”字母问题。我无法键入“ b”,但“ B”工作正常。
我该如何解决这个问题?
Answers:
您遇到的问题.pythonstartup
是:
readline.parse_and_bind("bind ^I rl_complete") # darwin libedit
这.pythonstartup
将解决它...
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")
首先,直到我将python 2.7.1更新为2.7.3为止,这种情况才发生。就是说,修复程序已准备就绪:
旧行:
if(sys.platform == 'darwin'): #FIX
新队:
if(sys.platform == 'darwin') and 'libedit' in readline.__doc__: #FIX
我的〜/ .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
不幸的是,解决方法不是一个明智的选择。
Apple假定在进行升级和其他功能时其版本未更改。相反,建议您如果要升级python或扩展它,请在本地/opt
文件夹或主文件夹下安装本地版本。
我也有同样的问题,并且我不使用MacPorts版本的python。
我正在使用运行在最新MacBook Air(第3代)中的Mac OX X Lion下的www.vpython.org上的最新版本的vpython
visual python 。
我使用他们最新的二进制文件并按照他们的说明安装了vpython。它带有安装程序,因此很简单。这是Python 2.7.1的修改版本。它是32位版本。(我相信他们还没有将其移植到64位)。然后,我安装了VPython-Mac-Py2.7-5.71。接下来是来自www.scipy.org的scipy 和来自matplotlib.sourceforge.net的matplotlib。所有这些安装都使用安装程序。
当我用他们的开发工具(闲置)或vpython变体vidle运行python时,我没有任何问题。如果我打开终端并从bash shell运行python,该shell将无法识别键盘中的“ b”键。它会给您“铃”声,而不是键入“字符b”。但是,您可以输入字母“ B”。看起来此键已映射到一些不正确的未显示“字符”,可能是旧ASCII代码中的“响铃”字符。
我尝试将仿真更改为xterm,vt100,vt102。我还使用了不同的编码方案,例如仅使用UTF-8。我还按了特殊的组合键,例如Command-B等。没有任何效果。
我唯一的解决方法是将脚本闲置或删除。
我希望这有助于澄清问题。