この問題は、Mac OS X、Aqua Cocoa Tk 8.5 での Tcl/Tk の配布に関連していると思われます。レポートでは Checkbutton の問題について特に言及されていませんが、Tkinter のグラフィカルな問題が確認されています。
Tcl の最新バージョン (8.5 または 8.6 の一部の実装) のいずれかを入手し、Python をリンクする必要があります。
警告: 以下の編集を参照してください。これにより、他のパッケージで問題が発生する可能性があります。
自作でこの問題に従って、brew で tcl-tk (8.6) をインストールし、Python に使用させました。Python 2 のコマンドは次のとおりです。
brew install homebrew/dupes/tcl-tk
brew uninstall python
brew install python --with-tcl-tk
(上記のリンクで使用されているオプションは --with-brewed-tk ですが、 --with-tcl-tk では非推奨になっています)
数式は樽のみであるため、Python だけが新しい Tcl/Tk について知ることができます。tclshとWishも古い Tcl を使用し続けます。Python のバージョンと基本機能を確認するには:
import Tkinter
Tkinter._test()
tclsh でバージョンを確認するには:
puts $tcl_version
Python 3 の場合python3
、brew およびtkinter
python スクリプトで使用します。
.dmg の使用を好み、商用の無料の (ビールのような) ソリューションを気にしない場合は、ActiveTclを試すことができます。TkDocs には、これに関する優れたチュートリアルがあります。今回は、新しいウィッシュもインストールする必要があります。
編集: 上記の手順に従った後、グラフィカルな不具合は消えたはずですが、matplotlib、pillow、または Tk バックエンドを使用する別のパッケージを使用すると、バックエンド モジュールをインポートするときに次のような警告が表示される場合があります。
クラス TKApplication は、/usr/local/opt/tcl-tk/lib/libtk8.6.dylib と /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk の両方に実装されています。2つのうちの1つが使用されます。どれが未定義です。
(あるいは ActiveTcl をインストールした場合は /Library/Frameworks と /System/Library/Frameworks の比較)
matplotlib でプロットすると、アプリケーションがクラッシュしました... そのようなパッケージを使用する場合、この方法はお勧めしません。現在、Python を ActiveTcl で動作させて、不具合を解消し、matplotlib を引き続き動作させることができるかどうかを確認しようとしています。ActiveTcl 8.5 は、ほとんどのパッケージと互換性がありながら主要な不具合を取り除くのに十分なようですが、まだ試していません。
この問題でピロー インストールのセットアップ スクリプトを微調整するアイデアがいくつかありますが、これを matplotlib に適用することはできませんでした。