Python IDLE 不接受引号
免责声明:我还是个新手。
我在我的OSX 10.6上安装了Python 3.2和ActiveTcl 8.5.9.2,安装过程中没有出现任何错误,我已经成功通过终端运行了一个.PY文件,运行得还不错。
我打开了IDLE,里面没有显示任何错误。但是每当我按下引号键(')时,什么也没有发生。按下[shift]键后(")也是一样。这个字符就是不出现。‘反引号’/波浪号键也是如此,无论按不按[shift]。
我使用的是美国国际键盘布局。
我尝试打开了键盘查看器。单引号和‘反引号’这两个键都是橙色的。(我之前从来没有注意到这一点。)在其他应用程序中,点击这两个键时,都会输入对应的字符,但在Python IDLE中却没有反应。
有没有人知道这可能是什么原因呢?
补充信息:在交互模式下运行Python解释器(从终端运行)时,这两个键都能正常工作。而且,如果我尝试将键盘布局改为普通的“美国”布局,IDLE也能识别这些键;但这感觉更像是个变通方法,我想听听你们的看法。
2 个回答
把键盘设置改成“普通美国”并不是一个临时解决办法,而是对你来说真正的解决方案,除非你有特别的理由想继续使用美国国际布局。这里有一些关于美国国际布局的指导信息。
IDLE使用的是Python标准库中的
这个问题似乎是Cocoa Aqua Tk中一个已知错误的变种。在普通的美国苹果键盘上,你可以通过按option U
+ <元音字母>
来输入变音符号(比如ä
)。而在美国国际键盘上,似乎是用'
这个键来代替缺失的option u
。在最新的ActiveState Tk 8.5版本中(包括你安装的版本)有一个补丁,可以防止在这种情况下Tk崩溃。你可以通过启动Mac OS X 10.6自带的IDLE 2.6(/usr/bin/idle2.6
)来看看以前是怎么“工作的”。在那里尝试输入'
(使用国际键盘设置)或者option U
(使用美国键盘设置)!补丁版本会简单地忽略这个情况,而不是崩溃。
你最好的选择是使用US
或者US Extended
键盘输入法。