[macOS 10.15 Catalina]
macOSではtkinter8.5がデフォルトのようなので別途設定しました。
1. tcl-tkをインストールする。
brew install tcl-tk
2. tcl-tkのバージョンが8.6であることを確認する。
brew info tcl-tk
brew(醸造)だからbottledされたパッケージはcellar(貯蔵庫)に保管とはしゃれてますね。
tcl-tk: stable 8.6.10 (bottled) [keg-only]
Tool Command Language
https://www.tcl-lang.org
/usr/local/Cellar/tcl-tk/8.6.10 (3,036 files, 51MB)
3. bash_profileに以下を追記する。
export PATH="/usr/local/opt/tcl-tk/bin:$PATH" export LDFLAGS="-L/usr/local/opt/tcl-tk/lib" export CPPFLAGS="-I/usr/local/opt/tcl-tk/include" export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"
4. pyenvにPython3.9.0を上書きインストールする。
PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I/usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'" pyenv install 3.9.0
私の場合はPyInstallerにも対応しなければならず、オプションを一つ追加します。
PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I/usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6' --enable-shared" pyenv install 3.9.0
5. 確認のためtkinterを起動する。
python -m tkinter