解决IDLE中文输入问题
背景
Mac osx 10.11 python 2.7.10
问题
中文输入失效
分析1
IDLE 界面使用的 Tkinter 需要依赖 Tcl/Tk,而系统自带的 Tcl/Tk 版本太低,造成了不兼容的问题。
方法1
更新TCL/Tk
结果
问题依旧存在
分析
终端下使用命令
where python
发现只有一个python
where wish
发现有两个wish
/usr/bin/wish
/usr/local/bin/wish
发现程序依赖的TCL/Tk在
/../../../Library/Frameworks/Tk.framework/Versions/8.5
而发现更新的版本装在
/../../System/Library/Frameworks/Tk.framework/Versions/8.5
方法2
所以把更新的版本复制后直接黏贴覆盖程序依赖所在版本目录
问题2
发现root账号也修改不了bin目录
分析
OSX 10.11 版本,引入了新的 Rootless,也就是说:
即使是root用户,将无法对以下路径有写和执行权限:
/System
/bin
/sbin
/usr (except /usr/local)
只有Apple自身签名的软件(含命令行工具)可以。
方法3
关闭Rootless权限的方法
1、开机按住Command + R键,让电脑进入恢复模式
2、打开终端,在终端中键入:csrutil disable 并回车
3、重新启动电脑进入普通模式即可。
结果
重新执行方法2,中文输入问题解决