Skip to content

关于Mac版不能输入中文的问题。

Ray H edited this page Sep 21, 2017 · 1 revision

现象

表现问Mac系统下,软件的输入框无法输入中文,无论使用系统自带的输入法,或者第三方的都不可以。

简单解决方案

暂时没有解决方案。只能说这种情况看人品,有的可以输入,有的不可以输入。与系统版本,及输入法无关。如无特殊需求,请暂时在其他地方打字,然后粘贴进文本框里。具体原因见下面描述。

解释说明

这个问题,正在努力解决中。但是是否能够解决,还是未知。。。我自己的4台mac,出了开发使用的一台,其他的3台都是正常使用,有两台可以输入中文,一台不可以。完全不知道是怎么回事儿。。

具体成因

该问题最本质的原因是,Mac系统自身的一个bug。 详见Python官网的描述:

the Apple-supplied Tcl/Tk 8.5 still has serious bugs that can cause application crashes. If you wish to use IDLE or Tkinter, install and use a newer version of Python and of Tcl/Tk.

https://www.python.org/download/mac/tcltk/

解决的方案在这里,然而并不是每个人都好用:

https://www.activestate.com/activetcl/downloads

进阶解决问题方案

  1. 前往https://www.activestate.com/activetcl/downloads,下载对应的TCL: ACTIVETCL
  2. 安装在Mac上
  3. 进入「/Library/Frameworks」目录下,复制「Tcl.framework」「Tk.framework」这两个文件夹。
  4. 进入「/system/Library/Frameworks」目录下,粘贴覆盖系统的文件。(注意备份)

PS:macOS 10.12及以上用户进行以上操作时,需关闭rootless,具体关闭方法如下:

重启电脑开后按住「Command-R」进入恢复分区。

然后在「实用工具」栏找到「终端启动运行」。

输入:「csrutil disable; reboot」

修改完系统文件记得改回来。

重启电脑开后按住「Command-R」进入恢复分区。

然后在「实用工具」栏找到「终端启动运行」。

输入:「csrutil enable; reboot」

Clone this wiki locally