tkinter on macOS (via MacPorts)

各種 UNIX 系ツールのインストール・管理は MacPorts を使っているが、MacPorts でインストールした Python の tkinter を使おうとしたところ、XQuarz 経由で Tk が動く形となり、日本語入力が使えずに、コピー&ペーストしながら入力して、かなり不便なのを我慢していた。

どうにかならないものかと改めて情報を探ってみたが、X11 を使わずに Quarz を使うなどという 10 年前の情報が出るだけで、既に XQuarz が使われている自分の場合にはこれ以上手の施しようがないと思い込んでいた。

──が、これが単なる、しかし致命的な勘違いで、Quartz と XQuartz では別物というか、XQuartz は、Quartz をワザワザ X11 互換モードで動かしているものらしく、要するに X11 のことである。だから Quartz をちゃんと Quartz として動かす必要があった。たったそれだけ、それだけだが致命的な勘違いだったというわだ。

macOS の matplotlib (MacPorts) で X11 を要求される問題を回避する」というブログ記事の通りにして、無事に Quartz で tkinter を動かすことができた。記事自体は matplotlib に関するものだが、tkinter の場合も MacPorts 経由でインストールされた Tk を使うので、tk +x11 → tk +quartz に切り替えればよいというのは同じである。

MacPorts の tk はデフォルトで X11 を使用することになっていたので、 -x11 +quartz を付けてインストールし直せばよい(+x11 と +quartz は conflict するので同時に設定できない)。


sudo port install tk -x11 +quartz

お蔭様で、無事、日本語入力もできるようになった。

コメント

このブログの人気の投稿

シークエンスパパともの先見の明

清水俊史『上座部仏教における聖典論の研究』

シークエンスパパとも 本物の霊能力